锁定老帖子 主题:将所有的URL指向action
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-17
最后修改:2010-09-19
刚刚开始学习Struts2。有个问题不明白~ 《Struts2 深入详解》 写道
在Struts2开发中,将所有的URL都指向action,而不是直接指向JSP页面,这是一种非常好的实践方式,因为这样可以利用Struts2控制器所提供的功能。
那么,在实际编程中,以下两种方式又有何区别?方式2比方式1好在哪里?
直接访问 .../index.jsp
访问URL设定为 .../index.action
struts.xml中配置 <action name="index"> <result>index.jsp</result> </action>
另外,在index.jsp里点击“登陆”,以下两种方式又有何区别?
在index.jsp中 <a href ="userLogin.jsp">
在index.jsp中 <a href ="login">登陆</a>
在struts.xml中配置 <action name="login"> <result>userLogin.jsp</result> </action> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-09-17
直接访问jsp是访问到你的jsp页面。访问.action是访问到你的action,然后根据你的配置 跳转到相应的jsp
|
|
返回顶楼 | |
发表时间:2010-09-17
我觉得这两种方式的最大不同时转向action可以完全将界面和功能分离,可以更加深刻的突出action的中间转换器作用。
|
|
返回顶楼 | |
发表时间:2010-09-17
紫烟水晶 写道 我觉得这两种方式的最大不同时转向action可以完全将界面和功能分离,可以更加深刻的突出action的中间转换器作用。
那么,我可不可以说, 在整个流程中,都是在action和action之间进行互通, jsp就只是用来显示结果的,即在配置上都是由<result>来指向jsp, 而一般不出现由jsp指向action这种情况? 如果是这样的话,如果我要提交数据,比如在jsp页面登录,要将username和password提交给 action进行处理,这算不算没有将界面和功能分离啊~? |
|
返回顶楼 | |
发表时间:2010-09-17
我所说的功能是对数据的处理以及页面的跳转,这如你所说的JSP知识用来显示,显示action的处理结果,你说的又是话,我不太明白,例如:而一般不出现由jsp指向action这种情况?
|
|
返回顶楼 | |
发表时间:2010-09-17
紫烟水晶 写道 我所说的功能是对数据的处理以及页面的跳转,这如你所说的JSP知识用来显示,显示action的处理结果,你说的又是话,我不太明白,例如:而一般不出现由jsp指向action这种情况?
我以为jsp就只用于显示最终结果上,中间不出现它了... 所以说,不出现jsp指向action,呵呵,想法狭隘了。 其实,应该是在jsp中不出现任何的业务处理逻辑,所有的功能都在action中完成。 而jsp只负责显示数据、传递参数、以及定向到action,对吧? |
|
返回顶楼 | |
发表时间:2010-09-17
一个是V,一个是C,你懂的
|
|
返回顶楼 | |
发表时间:2010-09-17
这就好比Java中为什么用setter,getter而不是直接放一个public attribute。
比如 private name; String getName(){ return name; } 看起来和 public name; 没什么区别,但如果哪天你突然希望返回的name能自动大写,那么前者改起来就方便多了。 同理,即使一个action现在什么都不作,只是redirect到jsp,但你不知道哪天会在里面干点私活啥的,这时候指向action你就可以对外透明的修改,而直接指向jsp,难道你在View里面加这些逻辑? |
|
返回顶楼 | |
发表时间:2010-09-18
restful 风格的返回结果才是以后的方向
|
|
返回顶楼 | |
发表时间:2010-09-18
最后修改:2010-09-18
我使用action替代jsp,因为以下几点
1 利用mvc框架进行访问拦截,可以做很多事情,比如记录访问路径,设置配置数据 2 对于struts2的标签来说,很多不经过mvc框架而直接访问jsp的话很多不能用 至于其他的项目里面,应该不是单纯为了突出mvc或为了业务和显示分离而使用此方式的吧,有时是mvc框架需要而使用的 |
|
返回顶楼 | |