struts2.0的实现
来源:互联网 发布:我们都是超能力者 知乎 编辑:程序博客网 时间:2024/06/06 10:40
一.action的三种实现方式
1.继承com.opensymphony.xwork2.ActionSupport; 然后重写 execute() 方法。
public class LoginAction extends ActionSupport{ public String execute() throws Exception { return "success"; }}
2.实现com.opensymphony.xwork2.Action 接口; 然后覆写execute()方法
public class LoginAction implement Action{
public String execute() throws Exception {
return “success”;
}
}
接在任意一个类中,写一个返回值为String类型的execute方法即可
public class LoginAction{
public String execute() throws Exception {
return “success”;
}
}
二.依赖注入三种方式
1、直接在Action中使用其的属性直接输入
class LoginAction extends ActionSupport{ String userName; Stirng userPass; public String execute() throws Exception { return "success"; } // userName 和userPass 的get() set()方法}
2、使用领域对象接受用户输入。(封装到bean中 也就是pojo)
class LoginAction extends ActionSupport{ private User user; public String execute() throws Exception { return "success"; } //user的get()和set()方法}
3、使用ModelDriven方式
class LoginAction extends ActionSupport implement ModelDriven { public String execute() throws Exception { return "success"; } //覆写geModel()方法 public object getModel(){ return new User(); }}/** * 在使用ModelDriven的方式下 * 在jsp页面中,调用属性时,不用写成 name="#user.userName" * 可以直接写成name="userName" **
三、获得servletApi的四中方式
即获得request、session等的4种方式,尽量使用IOC的方式
非IOC方式两种,即通过使用com.opensymphony.xwork2.ActionContext类
1、非IOC方式,并且通过map存放
class LoginAction extends ActionSupport{ private User user; ActionContext context=ActionContext.getContext(); //request比较特殊 Map request=(Map)context.get("request"); Map session=(Map)context.getSession(); public String execute() throws Exception { request.put("user",user); session.put("user",user); . . . return "success"; } //user的get()和set()方法}
2.非IOC方式 ,通过setAttribute方式存放
class LoginAction extends ActionSupport{ private User user; HttpServletRequest request=SerevletActionContext.getRequest(); HttpSession session=ServletActionContext.getServletContext(); ServletContextApplicaton application=ServletActionContext.getServletContext(); public String execute() throws Exception { request.setAttribute("user",User); session.setAttribute("user",User); . . . return "success"; } //user的get()和set()方法}
3.通过IOC方式 ,并且通过Map存放 (常用)
public class LoginAction extends ActionSupport implements SessionAware ,RequestAware,ApplicationAware{ private User user; private Map session; private Map request; private Map application; public String execute() throws Exception { request.put("user",user); session.put("user",user); . . . return "success"; } //user、application、request、session的get()和set()方法 }
4.通过IOC方式 ,并且用setAttribute方式存放
public class LoginAction extends ActionSupport implements ,ServletRequestAware,ServletContextAware{ private User user; .. .. public String execute() throws Exception { request.setAttribute("user",User); application.setAttribute("user",User); . . . return "success"; } //user、application、request、session的get()和set()方法 }
- struts2.0的实现
- struts2的ajax实现
- Struts2 的国际化实现
- Struts2 的国际化实现
- Struts2 的国际化实现
- Struts2 的国际化实现
- Struts2 的国际化实现
- struts2的Interceptor实现
- Struts2的国际化实现
- Struts2 的国际化实现
- 【struts2】Action的实现
- Struts2 的国际化实现
- struts2实现文件的上传
- Struts2树形菜单的实现
- Struts2零配置的实现
- struts2里的ognl实现
- struts2实现日期的转换
- struts2实现文件的上传
- Android之——获取手机安装的应用程序
- linux下解压命令大全
- d
- 算法之插入排序算法
- div靠底边对齐
- struts2.0的实现
- 结合jenkins, 使用maven-assembly-plugin实现静态资源自动化部署,maven打zip包
- css中的content: "." 有什么用?为什么要用他?
- 数据存储之内部存储
- HDU5317
- 随堂演练
- 写字板
- MFC程序打开文件对话框出错的问题解决
- HTML+CSS