structs2 中关于struts2.xml文件中的action和result标签
来源:互联网 发布:剑灵正太捏脸数据 编辑:程序博客网 时间:2024/05/24 02:58
在action标签中,有一个method的属性,通过该属性,调用类中的具体方法。但如果没有说明该属性,则默认会调用execute()方法。
而在result标签中,name属性默认值为success。且只有当返回值等于name属性值时,才可以访问到result标签中的jsp页面。
但是,如果在action标签中没有说明method属性,理论上默认调用的是execute()方法,而在result标签中也没有说明name属性,默认值应该是success。奇怪的是,无论类中是否有execute()方法,都会直接访问result标签中的jsp页面。甚至于该类如果是一个空的类,只要继承了ActionSupport,都可以访问。
以下为具体试验情况:
第一种:
UserAction类中的方法有且只有一个add();
public String add() {
System.out.println("已经调用该方法!");
return "abcd";
}
action配置如下:
<action name="userAdd" class="action.UserAction">
<result name="success">/user_add_success.jsp</result>
</action>
可以访问!!
第二种:
UserAction类中的没有方法
action配置如下:
<action name="userAdd" class="action.UserAction">
<result name="success">/user_add_success.jsp</result>
</action>
可以访问!!
第三种:
UserAction类中的方法有且只有一个add();
public String add() {
System.out.println("已经调用该方法!");
return "success";
}
action配置如下:
<action name="userAdd" class="action.UserAction" method="add">
<result name="success">/user_add_success.jsp</result>
</action>
可以访问!!
第四种:
UserAction类中的方法有且只有一个add();
public String add() {
System.out.println("已经调用该方法!");
return "abcd";
}
action配置如下:
<action name="userAdd" class="action.UserAction" method="add">
<result>/user_add_success.jsp</result>
</action>
不可以访问!!但如果将“abcd”改成“success”,就可以访问,或者在result标签中写上name="abcd",也可以访问
综上:
出现该现象的原因是因为:
当没有设置method属性时,默认调用类中的execute()方法,但如果类中本身并没有该方法,则会向其父类,
即向ActionSupport中调用execute()方法,该方法返回值为success,所以,当result中未指明name属性值时,
默认为success,这两个值是一样的,所以便可以访问到页面了。
- structs2 中关于struts2.xml文件中的action和result标签
- struts2.xml 中的result标签type属性
- Struts2框架中struts.xml文件的package标签的命名空间属性、默认action配置、result配置、Struts异常处理
- Struts2中<result>标签
- struts2.xml中的全局Result和局部Result
- Struts2中的action中result中的type有哪些类型
- struts2中Action配置中的各项默认值和result的各种转发类型
- Struts2 中,action中的result的各种转发类型
- struts2框架--------Action和Result
- 【Struts2学习笔记(2)】Action配置中的各项默认值和Action中result的各种转发类型
- struts.xml属性重名处理:关于<package><action><result>的name和namespace属性同名时struts2的处理
- 关于Struts2中的No result defined for action and result input错误
- [SSH]No result defined for action and result input 和 Struts2中关于值跳转input,而不执行action的问题
- 关于struts2上传文件报错“No result defined for action and result input”
- 关于struts2上传文件报错“No result defined for action and result input”
- struts2中的action标签
- struts框架中struts.xml中action标签中result标签的两个常用属性
- 关于struts2 No result defined for action
- 好题收集(2)
- 数组
- Android studio 引入第三方类库
- Wandering Robots hdu6229 离散化+思维找规律+bitset标记
- ES6之表达式结构(Destructuring)
- structs2 中关于struts2.xml文件中的action和result标签
- 剑指offer--二叉树中和为某一值的路径
- 通用方法
- libcurl windows下编译和post使用及https支持
- SSM重构web版Windows资源管理器
- NOIP2012 开车旅行 (倍增)
- [2017纪中11-5]轰炸 强联通分量+DAG最长路
- 关于组合和继承 ---- 代码复用& 选择问题
- 【Android View事件(四)】View滑动与实现滑动的几种方法