struts2的一些疑问:获取request对象
来源:互联网 发布:springmvc 加载js 编辑:程序博客网 时间:2024/06/17 19:47
获得request对象有三种方式:
方式一:aware接口注入,即实现ServletRequestAware接口(此方式最为麻烦)
public class Demo2ServletAction extends ActionSupport implements ServletRequestAware{ private HttpServletRequest request; @Override public String execute() throws Exception { request.setAttribute("gf", "request_aware"); return SUCCESS; } @Override public void setServletRequest(HttpServletRequest request) { this.request = request; }}方式二:使用ServletActionContext工具类(此方式虽好,但与servlet api耦合)
public class Demo1ServletAction extends ActionSupport{ @Override public String execute() throws Exception { ServletActionContext.getRequest().setAttribute("gf", "request"); return SUCCESS; } }方式三:通过ActionContext来获得(此方法与serlvet api解耦,建议使用)
public class Demo3ServletAction extends ActionSupport{ @Override public String execute() throws Exception { ActionContext.getContext().put("gf", "request"); return SUCCESS; }}
Struts2中Action接收参数的方法主要有以下三种:
1.使用Action的属性接收参数
a.定义:在Action类中定义属性,创建get和set方法;
b.接收:通过属性接收参数,如:userName;
c.发送:使用属性名传递参数,如:user1!add?userName=Magci;
2.使用DomaunModel接收参数:
a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法;
b.接收:通过对象的属性接收参数,如:user.getUserName();
c.发送:使用对象的属性传递参数,如:user2!add?user.userName=MGC;
3.使用ModelDriven接收参数:
a.定义:Action实现ModelDriven泛型接口,定义Model类的对象(必须new),通过getModel方法返回该对象;
b.接收:通过对象的属性接收参数,如:user.getUserName();
c.发送:直接使用属性名传递参数,如:user2!add?userName=MGC
1、通过属性驱动式
<form action="sys/login.action" method="post"> <input type="text" name="username"> <input type="submit" value="submit"> </form>--------------------------------------------------------------------------
public class sysAction extends ActionSupport{ private String username; public String login() throws Exception { System.out.println(username); return SUCCESS; } public String getUsername() { return username; } public void setUsername(String username) { this.username= username; } }
2.模型驱动方式,必须要实现ModelDriven<T>接口。对于要传入多个model第二种方式不方便
form action="sys/login.action" method="post"> <input type="text" name="username"> <input type="submit" value="submit"> </form>
Action:必须实现getModel() 方法
public class sysAction extends ActionSupport implements ModelDriven<User>{ private User user; public String login() throws Exception { System.out.println(getModel().getUsername()); return SUCCESS; } public User getModel() { if (null == user) { return user = new User(); } return user; }}
3.第三种方式可以完全不实现ModelDriven<T>,也可使用多个model对象的属性。
<form action="sys/login.action" method="post"> <input type="text" name="user.username"> <input type="text" name="teacher.level"> <input type="submit" value="submit"> </form>
public class sysAction extends ActionSupport{ private User user; private Teacher teacher; public String login() throws Exception { System.out.println(user.getUsername()); System.out.println(teacher.getLevel()); return SUCCESS; } public void setUser(User user) { this.user = user; } public void setTeacher(Teacher teacher) { this.teacher = teacher; }}
界面如何提交给struts2的Action的URL链接:
<form action=””></form>
Action实现页面跳转和配置的各项默认值:1、Action设置单个页面跳转:
<action name="example" class="com.struts2.house.rent.action.ExampleAction"> <result >/login.jsp</result> </action>2、Action设置多个页面跳转:
<action name="example" class="com.struts2.house.rent.action.ExampleAction"> <result name="error">/error.jsp</result> <result name="login">/login.jsp</result> </action>3、Action设置多个页面跳转和重定向:
<action name="example" class="com.struts2.house.rent.action.ExampleAction"> <result name="success" type="redirect">house!pre_list.action</result> <result name="login">/login.jsp</result> </action>4、Action的默认设置:
如果不为Action设置class,则Action默认是ActionSupport。
如果不为Action设置method属性,默认是执行execute方法。
如果没有设置result的name值,默认为”SUCCESS“
- struts2的一些疑问:获取request对象
- Struts2获取request的
- struts2里的request , response , session 对象的获取
- struts2 Action中获取request, response对象的方法
- struts2 Action中获取request, response对象的方法
- struts2 Action中获取request, response对象的方法
- struts2 Action中获取request, response,Session对象的方法
- Struts2 action中获取session,request对象的方法
- struts2标签获取action中保存在request域的对象
- Struts2的Action中获取request,session,application对象
- Struts2 Action中获取request对象的方法
- Struts2 Action中获取request对象的方法
- struts2获取request对象的四种方式
- struts2获取session与request对象
- struts2获取session与request对象
- Struts2中获取request,session,application对象
- Struts2 如何获取Request,Session对象
- struts2 获取request,seesion,application对象
- 图灵机器人
- CAS实现SSO单点登录原理
- CSS美化超级链接和鼠标
- EF 更新 删除
- spring中使用@Async注解进行异步处理
- struts2的一些疑问:获取request对象
- UMeditor图片上传失败之jsp与.NET版本(转载+原创)
- autorelease 什么时候释放
- 动态添加菜单<ul>
- android_app开发集成mob短信验证码功能
- Android基础知识整合篇——ContentProvider知识点
- 时间选择器和日期选择器 对话框 TimePickerDialog DatePickerDialog
- 从Solrj4到Solrj5的升级之路
- NSURLSession的初步理解