Struts学习笔记 第16页 共39页
import org.apache.struts2.interceptor.SessionAware; import com.opensymphony.xwork2.ActionSupport; public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware { } 在视图(JSP)页面中获取相关对象,同方式一。
三、 方式三:获取原类型
private Map
}
四、 方式四:获取原类型-控制反转
首先需要Action实现org.apache.struts2.interceptor.ServletRequestAware接口,然后重写setServletRequest()方法,获取HttpServletRequest对象,再通过HttpServletRequest对象取昨HttpSession和ServletContext对象。
import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.struts2.interceptor.ServletRequestAware; import com.opensymphony.xwork2.ActionSupport; public class LoginAction4 extends ActionSupport implements ServletRequestAware { } 十三、 Struts2配置文件模块化包含(include)
private HttpServletRequest request; private HttpSession session; private ServletContext application; public String execute() { } @Override public void setServletRequest(HttpServletRequest request) { } this.request = request; this.session = request.getSession(); this.application = session.getServletContext(); request.setAttribute(\, \); session.setAttribute(\, \); application.setAttribute(\, \); return SUCCESS;
当Struts配置文件比较多,需要模块化划分或分开成为多个配置文件时,这个功能比较好。
则需要使用
则需要在struts.xml文件中使用
十四、 默认的Action
当用户访问的namespace下一个不存在的Action,则会将使用默认的Action。
使用
十五、 Action总结
1、 实现一个Action的最常用的方式:从ActionSupport继承 2、 DMI动态方式的调用:! 3、 通配符配置:* {1} {2}
4、 接收参数的方式(一般属性或DomainModel来接收) 5、 简单参数验证addFieldError
a) 一般不使用Struts的UI标签 6、 访问Web元素
a) Map类型
i. IoC ii.
依赖Struts2
b) 原始类型 i. IoC ii.
依赖Struts2
7、 包含文件配置
Struts学习笔记 第19页 共39页
02 Struts2-Result
一、 Result类型 (type)
1、 dispatcher
运用服务器跳转 jsp forward 不可以是Action,只可以跳转到视图 2、 redirect
客户端跳转(重定向)-url发生变化 不可以是Action,只可以跳转到视图 3、 chain
跳转到Action (forward action) 可以动用到Action
在访问Action时,Action前面不要加”/” 4、 redirectAction
客户端跳转到Action――-url发生变化 5、 freemarker 6、 httpheader
发送一个http头 7、 stream
下载 8、 velocity 9、 xslt
10、 plaintext
返回页面的源码 11、 titles
把页面分成几块,每个页面都可以动态的指定
注:当访问不同的namespace下的Action时,则使用如下方式:
当有多个Action使用同一个结果集时,则可以使用全局结果集(Globle Result),如下:
UserAction
public class UserAction extends ActionSupport { } UserAction返回的结果集中有”mainpage”,但是user的Action中并没有”mainpage”的Rsult,这时就会使用全局的结果庥(global-result),这人结果集中有”mainpage” 当其它不同的package需要使用这个全局的Result时,则需要使用
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Struts2开发手册- 马士兵 - 图文(4)在线全文阅读。
相关推荐: