谁能详细给我解释一下struts2的一个配置文件中<action name,class,method,result>

<struts><constantname="struts.enable.SlashesInActionNames"value="true"/><!--action名可以... <struts>
<constant name="struts.enable.SlashesInActionNames" value="true" /><!-- action名可以有'/'字符 -->
<package name="index" namespace="/" extends="default">
<action name="*Index" class="indexAction" method="{1}Index">
<result name="input">/WEB-INF/view/login/login.jsp</result>
<result name="view">/WEB-INF/view/home/${nextPath}.jsp</result>
</action>
</package>
</struts>
谁能详细给我解释一下struts2的一个配置文件中<action name,class,method,result>和<package name,namespace,extends>的这些个标签的意思,最好能给我举个例子,而且{1},*是什么用的,action可以有'/'字符有什么用?举个例子
100分参上,如果解释的清楚立刻给分!谢谢了!
还有result是干嘛的;还有就是我的方法名本身是交IndexAction,为啥这个配置文件中的首字母小写了?
展开
 我来答
指尖点滴bV
推荐于2017-09-02 · TA获得超过626个赞
知道小有建树答主
回答量:1258
采纳率:71%
帮助的人:255万
展开全部
配置包时必须指定name属性,该name属性值可以任意取名,但必须唯一,如果其他包要继承该包,必须通过该属性进行引用,包的namespace属性用于定义该包的命名空间,命名空间作用为访问该包下的action路径的一部分,见示例.namespace属性可以不配置,如果不指定该属性,默认的命名空间为””

通常每个包都应该继承struts-default包,因为struts2很多核心功能都是拦截来实现的,如,从请求中把请求参数封闭到action,文件上传和数据验证等都是通过拦截器实现的,struts-default定义了这些拦截器和Result类型,可以这么说,当包继承了struts-default才能使用struts2提供的核心功能,struts-default包是在struts2-core-2.xx.jar文件中的struts-defalut.xml中定义,struts-default.xml也是struts2默认配置文件,struts2每次都会自动加载struts-default.xml文件.

Action 元素method属性,默认值为method=”execute”,也就是当action接收到请求后,交给哪个方法去处理,默认的是交给execute方法去处理,当然,也可以交给其他方法,{1}代表通配符,比如你上面的{1}index,我访问 aaidex,bbindex都能够跳到此控制机器定义的这个方法

<result name="success">/WEB-INF/JspPage/chapter1/HelloWorld.jsp</result> 
result元素主要定义视图的跳转和返回的行为及类型、



你定义的indexAction变小写是因为这是为spring接管了,。你spring配置文件中肯定有个bean的id是indexAction,class路径指向包名+类名。

 struts.enable.SlashesInActionNames: 该常量设置struts2是否允许action名中使用斜线,该常量的默认值是false。如果希望使用斜线,将该常量值设置成true即可。比如action name="aa/bb"
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式