爱问知识人 爱问教育 医院库

Struts1的action跳转问题

首页

Struts1的action跳转问题

小弟是才进入java开发领域的。用的是struts1.1,项目比较老了。JDK1.4,Hibernate3.0。
之前做需求时遇到个问题,我一直没搞懂 导致开发效率很低。我举例说明吧。
就那User举例。比如说有个UserAction,UserJsp.
UserAction中的 "Init方法" 中已经把一个属性"name"放到了Request范围,然后跳到UserJsp页面。这样的话在页面不管我是用struts标签还是EL表达式都可以把这个值取到。现在在UserJsp页面,还有一些按钮或者连接之类的。有的仍是提交到UserAction,而有的是已经跳到了其它的Action,但返回来之后仍然回到UserJsp这个页面。
现在我的疑问:
比如说第一种,仍然提交到UserAction,但是方法已经改变了(不是进入到之前的init方法中,换成了query方法),提交之后依然返回UserJsp这个页面。请问返回来之后,我最开始设置的那个"name"属性,在这个页面还可以取到吗?我听同事说,只要提交到同一个Action(ActionForm),这个值都是一直带着的,随时都可以取到。请问是这样吗?
再说第二种,在UserJsp页面的一个连接指向了另一个Action,这次再返回到UserJsp时,我的"name"属性就不存在了,对嘛?
还有第三种种情况,我看别人在写“服务层(有的叫Service,或这Handler,Business之类的)”,会从Action中穿一个ActionForm过来,而如果是我写的话,我会看服务层中用到哪些参数,我就会从Action传哪些参数进来,开始我以为人家把整个ActionForm传过来,是为了省事,不用再去把一个个的参数写进来。后来我体会到,这是不是应该和我上边的两种提问有关呢?因为人家向服务层传递一个ActionForm,当业务逻辑都弄好之后,就直接把值还放到了ActionForm中,然后再向页面传递的时候直接用这个ActionForm就可以了。这是不是就应了上边的那种“只要我的Actionform不变,值就一直有效”?
谢谢牛人们回答了 真的很感谢你们。

提交回答
好评回答
  • 2011-06-22 17:00:37
    第一种情况:你只将那么放在request域中,再次返回后肯定不能取到了,因为request的作用于仅仅是一次请求处理;
    第二种情况:和第一种情况本质上是一样的,系统根本不是按照也页面也区分功能的,而是按照请求处理的;
    第三种情况:采用将form传递到service的做法是很错误的。采用service的目的主要是将展示、业务处理、逻辑控制、数据访问分层,减少各层之间的耦合度,以便维护、和业务拓展。这样一处理,将展示和业务处理绑定到一块了,试想想,如果你们单位那天要业务增加手机处理功能,你是不是需要重新写一边service;
    我建议你好好学习以下jsp的基本原理,认真理解一下jsp各类变量,尤其是page、request、session、serletcontext等变量的作用域,你对它的处理过程了解的不足。对现在的jee架构理解不够深刻  以上是对这个问题的回答,希望对您有帮助。

    好***

    2011-06-22 17:00:37

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 179-198
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):