局部结果:将<result>标签作为<action/>元素的子元素来处理。
全局结果:将<result/>作为<global-result/>元素的子元素的来处理,<global-result/>相当于公共的处理结果集。
<result> <param name="location">/index.jsp</param> <param name="parse">true</param> </result>
name属性的location:定义了该视图对应的实际视图资源。
name属性的parse:是否可以在实际视图名字中使用OGNL表达式,struts默认是true。
子标签param的两个属性
处理结果类型
局部结果和全局结果
处理结果类型(处理结果是通过在struts.xml使用<result/>标签配置结果)
根据位置的不同,分为两种结果:
局部结果:将<result>标签作为<action/>元素的子元素来处理。
全局结果:将<result/>作为<global-result/>元素的子元素的来处理,<global-result/>相当于公共的处理结果集。
例如:<package name="">
<global-results>
<result name="">..</result>
<result name="">..</result>
<global-results>
</package>
<result>标签的子元素<param name="loaction" parse="">resource</param>:
name属性的location:定义了该视图对应的实际视图资源。
parse属性:是否可以在实际视图名字中使用OGNL表达式,struts默认是true。
OGNL:Object-Graph Navigation Language,很强大的表达式语言。
${#request.path获取值},前提是已经对request存入值。(可以在struts.xml中使用,也可以在JSP中使用。(实际项目中不是很常用)
第三步里 的request 是实现了 ServletRequestAware里的setServletRequest方法
具体如下
@Override public void setServletRequest(HttpServletRequest arg0) { // TODO Auto-generated method stub request = arg0; }
在add方法中添加
request.setAttribute("path","update");
在helloworld.xml中配置add对应的action结果路径
${request.path}
result的子标签<param>具有两个属性:
8.处理结果类型——局部结果与全局结果
子标签<param>
处理结果类型
处理结果类型中 :
局部结果 <action> 中套入 <result>
全局结果 <global-result> 中套入 <result>
Struts2实现servletAPI的三种方法:
一、ActionContext类
二、ServletActionContext类
三、实现ServletXXXAware接口
全局结果: 将<result/>作为<global-result/>元素的子元素配置。 局部结果: 将<result/>作为<action/>元素的子元素配置。 <result>/success.jsp</result>与<result>success.jsp</result>的区别 带斜杠是:绝对路径,开始是整个项目的上下文路径 去掉斜杠:相当于执行该action namespace指定的路径 result具有子标签param标签,result具有两个属性,一个是location,一个是prase属性,location定义了该视图对应的实际视图资源,parse即是指定是否可以在result中使用ognl表达式,默认值为true <result> <param name="location"> </param> <param name="prase"></param> </result> 在result中使用ognl表达式: ${#request.path}这中形式,即action中request对象的一个属性值 ${username}这种形式,即action中的一个成员变量的值,action中该成员变量应该有getter和setter方法
包下的所有action都可以共用全局结果
结果分为2种:局部结果,全局结果