struts 数据传递的问题!

J2EE 码拜 10年前 (2015-05-10) 851次浏览 0个评论
 

小弟初学struts,请多指教,跟贴比给分!
我在login.jsp页面获得用户名后,在loginAction中通过数据库获取了给用户的年龄String age = “28”,
然后想在age.jsp显示出该用户的年龄。
在loginAction中如何把这个age变量,传递到新的页面age.jsp中。
如果这里要的传的不是String类型,而是ArrayList等对象呢?如何传递,如何显示出来?
谢谢大家

希望过一个开心的平安夜,自己顶!
不会吧,CSDN竟然没有人?
10分
<logic:iterate id=”demo” name=”beanName”>
<bean:write name=”demo” property=”age”/>
</logic:iterate>
10分
用session传
谢谢回答,
难道我要为这一个age去构造一个Bean?

用session传不太好吧,据说对于数据量大复杂的,不太保险

到底应该怎么搞呢?

10分
在logAction里面request.setAttribute(“key”,value);在age.jsp中可以 <logic:notEmpty name=”key”><logic:iterate id=”indexId” name=”key”><bean:write name=”indexId” property=”age”/></logic:iterate></logic:notEmpty>
10分
如果你是想把他显示在文本框里的 话,你就把session里的值传到form里,然后通过form显示
10分
比如说,在头一个jsp页上有一个用户名的链接,点击后你准备显示用户的详细信息,基于面向对象的想法,你应该有一个pojo,即简单bean,含有用户的一些信息,如年令,体重,学历,性别,等。
1 如果你仅仅想显示一下此用户的详细情况,可以在action中调用另一个业务组件的方法,注意!在action中直接查是一种劣质的设计,整个struts的位置只应该限于表示层,即web层,不要穿越到业务层甚至是持久层。例如
   public class ReadUserInfoAction extends Action{
       public ActionForward execute(….){
         String username = request.getParamter(“xxx”);
         //调用业务组件来完成,如果有异常,也下放到这里面处理。
         User user = UserService.getUser(username);
         request.setAttribute(“User”,user);
         //下来跳转到指定页
 
      }
    
   }
2 如果你是准备修改用户信息,即下一个页中,你需要使用一个表单来提交。最好的选择是使用ActionForm,在 ReadUserInfoAction 中获得一个User对象后,需要将其属性复制到actionForm中。
方法有二:
   2.1 在actionForm中直接聚合一个User对象。推荐
   2.2 使用apache 的bean公用包中的BeanUtils的copyProperty方法来自动复制。
从概念上一定要区分开ActionForm和你的POJO,POJO可以自由的穿越各层,充当value object的角色,而ActionForm的职责只是服务于表单和Action之间
     
再次谢谢各位回答

谁来总结一下,struts中数据在页面间传递的各种方式,我好结帖

request,and session,中间页面

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明struts 数据传递的问题!
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!