职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 333|回复: 8

将所有的URL指向action

[复制链接]
北大青鸟 发表于 2011-8-21 10:36 | 显示全部楼层 |阅读模式
刚刚开始学习Struts2。有个问题不明白~
《Struts2 深入详解》 写道
在Struts2开发中,将所有的URL都指向action,而不是直接指向JSP页面,这是一种非常好的实践方式,因为这样可以利用Struts2控制器所提供的功能。

那么,在实际编程中,以下两种方式又有何区别?方式2比方式1好在哪里?
方式1:
直接访问
.../index.jsp

方式2:
访问URL设定为
.../index.action

struts.xml中配置
<action name="index">
        <result>index.jsp</result>
     </action>


另外,在index.jsp里点击“登陆”,以下两种方式又有何区别?
方式1:
在index.jsp中
<a href ="userLogin.jsp">

方式2:
在index.jsp中
<a href ="login">登陆</a>

在struts.xml中配置
<action name="login">
        <result>userLogin.jsp</result>
</action>

有烟没火 发表于 2011-8-21 10:36 | 显示全部楼层
直接访问jsp是访问到你的jsp页面。访问.action是访问到你的action,然后根据你的配置 跳转到相应的jsp

愚人 发表于 2011-8-21 10:36 | 显示全部楼层
我觉得这两种方式的最大不同时转向action可以完全将界面和功能分离,可以更加深刻的突出action的中间转换器作用。

醉倚西风 发表于 2011-8-21 10:36 | 显示全部楼层
紫烟水晶 写道
我觉得这两种方式的最大不同时转向action可以完全将界面和功能分离,可以更加深刻的突出action的中间转换器作用。


那么,我可不可以说,

在整个流程中,都是在action和action之间进行互通,
jsp就只是用来显示结果的,即在配置上都是由<result>来指向jsp,
而一般不出现由jsp指向action这种情况?

如果是这样的话,如果我要提交数据,比如在jsp页面登录,要将username和password提交给
action进行处理,这算不算没有将界面和功能分离啊~?


郁闷小男人 发表于 2011-8-21 10:36 | 显示全部楼层
我所说的功能是对数据的处理以及页面的跳转,这如你所说的JSP知识用来显示,显示action的处理结果,你说的又是话,我不太明白,例如:而一般不出现由jsp指向action这种情况?

hxy 发表于 2011-8-21 10:36 | 显示全部楼层
紫烟水晶 写道
我所说的功能是对数据的处理以及页面的跳转,这如你所说的JSP知识用来显示,显示action的处理结果,你说的又是话,我不太明白,例如:而一般不出现由jsp指向action这种情况?


我以为jsp就只用于显示最终结果上,中间不出现它了...
所以说,不出现jsp指向action,呵呵,想法狭隘了。

其实,应该是在jsp中不出现任何的业务处理逻辑,所有的功能都在action中完成。
而jsp只负责显示数据、传递参数、以及定向到action,对吧?


Jethro 发表于 2011-8-21 10:37 | 显示全部楼层
一个是V,一个是C,你懂的

木已 发表于 2011-8-21 10:37 | 显示全部楼层
这就好比Java中为什么用setter,getter而不是直接放一个public attribute。
比如
private name;
String getName(){
return name;
}
看起来和
public name;
没什么区别,但如果哪天你突然希望返回的name能自动大写,那么前者改起来就方便多了。
同理,即使一个action现在什么都不作,只是redirect到jsp,但你不知道哪天会在里面干点私活啥的,这时候指向action你就可以对外透明的修改,而直接指向jsp,难道你在View里面加这些逻辑?



紫衿 发表于 2011-8-21 10:37 | 显示全部楼层
我使用action替代jsp,因为以下几点
1 利用mvc框架进行访问拦截,可以做很多事情,比如记录访问路径,设置配置数据
2 对于struts2的标签来说,很多不经过mvc框架而直接访问jsp的话很多不能用

至于其他的项目里面,应该不是单纯为了突出mvc或为了业务和显示分离而使用此方式的吧,有时是mvc框架需要而使用的
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-16 19:04 , Processed in 0.106362 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表