没有高手了吗?这是初级问题呀,我刚开始学Struts,这个问题一直郁闷了我1天了,没有人能解决吗?

解决方案 »

  1.   

    当user.jsp提交后,对UserForm中的相应属性赋值,但好像没有执行User user=new User()
    <form-bean name="userForm" type="struts.form.UserForm">
    </form-bean>
        
      

  2.   

    有可能是两个页面不在一个request作用域内,用session试试。
      

  3.   

    在ActionForm里放一个类,我试过,好像行不通(问过老程序员的):(
    这个问题,你可以通过用动态Form实现,在struts-config.xml里配置这些:
    <form-bean name="userForm"
                 type="org.apache.struts.validator.DynaValidatorActionForm" >
    <form-property name = "user" type = "beans.User"/>
    <form-property name="password" type="java.lang.String" />
    <form-property name="userName" type="java.lang.String" />
    <form-property name="age" type="int" />
    </form-bean>在Action里面相应的变成DynaValidatorActionForm f = (DynaValidatorActionForm) form;User ss=f.get("user");
    request.setAttribute("User",ss);//此处或者写成form.set("user",user);以后jsp页面中用相应的struts-bean调用即可。
    return (mapping.findForward("view"));
      

  4.   

    提交后,UserForm中的User对象保存了提交上来的数据,这一步测试通过了,下面两步也成功了:ss=f.getUser();request.setAttribute("User",ss);就是执行了
    return (mapping.findForward("view"))
    后,返回给view.jsp的User对象是空
      

  5.   

    那你试试把整个UserBean对象保存到request中,看看能不能取到user
      

  6.   

    to:oceanncs(往昔)
    我按照你的说法做了,还是不行啊,我认为是return (mapping.findForward("view"))时,request中的User属性没有传递到view.jsp页面上,你还有其他的建议吗?谢谢哦!
      

  7.   

    不要get,试试post
    另外觉得你的思路不对,你这种写法不如不要用struts,直接用javabean更好。
    good luck!
      

  8.   

    谢谢gundam_king(东方不败),我时刚学习struts,这是一个练习,没想到遇上这么多问题。method=“post" 我也试了,也是不行,呵呵,真为难我啊。
      

  9.   

    <action
                attribute="userForm"
                input="/user.jsp"
                name="userForm"
                path="/user"
                type="struts.action.UserAction">
                <forward name="view" path="/view.jsp" redirect="true" />          
            </action>
    增加scorp看看
      

  10.   

    scope="request"  加上这个了,还是不行呀,打击我得积极性啊
      

  11.   

    请把你的配置文件中的这一句
    redirect="true"
    改成
    redirect="false",你为什么要重定向页面呢?有特殊的要求么,如果有的话,请用session传递你的Userbean。
      

  12.   

    to: lj0425(冰芝麻)
    照着你说的做了
    不成功,谢谢你呀
      

  13.   

    我将你的代码测试了一下,其实你的代码没有错误,是struts-config.xml文件配置错误,你其他的代码都不要改变,将下面一段代码覆盖原来的代码就可以,修改后的代码我测试通过,如果再不行,谁也帮不了你啦,呵呵.  :)将struts-config.xml中的下面代码:
       <action-mappings>
            <action
                attribute="userForm"
                input="/user.jsp"
                name="userForm"
                path="/user"
                type="struts.action.UserAction">
                <forward name="view" path="/view.jsp" redirect="true" />         
            </action>
        </action-mappings>改为如下:
       <action-mappings>
            <action
                attribute="userForm"
                input="/user.jsp"
                scope="request"   //其实这个添加与否都可以,建议添加
                name="userForm"
                path="/user"
                type="struts.action.UserAction">
                
                //下面的代码,一定要将redirect设为false,要是为true,就是重定向,
                //request中的所有属性都释放了,这也是你view.jsp得到的user对象为null
                //的原因
                <forward name="view" path="/view.jsp" redirect="false" /> 
            </action>
       </action-mappings>
    祝成功!
      

  14.   

    redirect要设为false,重定向会丢失request对象的 ,struts-config.xml改完后,你的服务器(是tomcat吧?)要重启一下
      

  15.   

    谢谢 wxt1013(每晚抱着Java睡觉......),太感谢你啦,这个问题困扰我2天了!
    谢谢 feng8208(人是铁饭是钢) 
    问题终于解决了
    谢谢大家