Struts2学习笔记(访问Web元素和Result_Type)
2016-03-16 17:12
435 查看
Struts2简单数据校验。
INPUT为例:
重写ActionSupport的validate方法
页面错误提示:
<%@taglib prefix="s" uri="/struts-tags" %>
<s:fielderror name="use"></s:fielderror>
可以通过:
<s:fielderror fieldName="name" theme="simple"></s:fielderror>
<s:property value="errors.name"/>
<s:debug></s:debug>
访问Web元素:
1.通过ActionContext
2.通过实现接口 RequestAware,SessionAware,ApplicationAware
3.通过实现接口 ServletRequestAware
Struts2 Result----Type
dispacher:运用服务器跳转 jsp forward
不可跳转action,只可以跳转视图
redirect:
客户端重定向
chain 跳转action(访问时不用添加“/”)
forward action
redirectAction
重定向action
全局结果集(Globle Result)
当用多个action使用同一个结果时
动态结果集(${})
带参数结果集:
INPUT为例:
重写ActionSupport的validate方法
页面错误提示:
<%@taglib prefix="s" uri="/struts-tags" %>
<s:fielderror name="use"></s:fielderror>
可以通过:
<s:fielderror fieldName="name" theme="simple"></s:fielderror>
<s:property value="errors.name"/>
<s:debug></s:debug>
访问Web元素:
1.通过ActionContext
private Map <String,Object>request; private Map <String,Object>session; private Map <String,Object>application; @SuppressWarnings("unchecked") @Override public String execute() throws Exception { System.out.println("通过ActionContext来访问request,session,application对象"); request = (Map<String, Object>) ActionContext.getContext().get("request"); session = ActionContext.getContext().getSession(); application = ActionContext.getContext().getApplication(); request.put("R1", "request"); session.put("S1", "session"); application.put("Q1", "application"); return SUCCESS; }
2.通过实现接口 RequestAware,SessionAware,ApplicationAware
private Map <String,Object>request; private Map <String,Object>session; private Map <String,Object>application; @Override public String execute() throws Exception { request.put("R1", "request"); session.put("S1", "session"); application.put("Q1", "application"); System.out.println("通过实现RequestAware、SessionAware、ApplicationAware接口来访问request,session,application对象"); return SUCCESS; } @Override public void setApplication(Map<String, Object> application) { this.application=application; } @Override public void setSession(Map<String, Object> session) { this.session=session; } @Override public void setRequest(Map<String, Object> request) { this.request=request; }
3.通过实现接口 ServletRequestAware
private HttpServletRequest request; private HttpSession session; private ServletContext application; @Override public String execute() throws Exception { request.setAttribute("R1", "request"); session.setAttribute("S1", "session"); application.setAttribute("Q1", "application"); System.out.println("通过实现ServletRequestAware接口来访问request,session,application对象"); return SUCCESS; } @Override public void setServletRequest(HttpServletRequest Request) { this.request = Request; this.session = Request.getSession(); this.application = Request.getServletContext(); // TODO Auto-generated method stub }共用jsp
<body> <h1>通过ActionContext来访问request,session,application对象</h1> <s:property value="#request.R1"/>|<%=request.getAttribute("R1") %> <s:property value="#session.S1"/>|<%=session.getAttribute("S1") %> <s:property value="#application.Q1"/>|<%=application.getAttribute("Q1") %> <br/> <s:property value="#attr.Q1"/><br/> <s:property value="#attr.R1"/><br/> <s:property value="#attr.S1"/><br/>
Struts2 Result----Type
dispacher:运用服务器跳转 jsp forward
不可跳转action,只可以跳转视图
redirect:
客户端重定向
chain 跳转action(访问时不用添加“/”)
forward action
redirectAction
重定向action
全局结果集(Globle Result)
当用多个action使用同一个结果时
<global-results> <result name="main">/common_warrn.jsp</result> </global-results>
动态结果集(${})
private int d; private String r; public int getD() { return d; } public void setD(int d) { this.d = d; } public String getR() { return r; } public void setR(String r) { this.r = r; } @Override public String execute() throws Exception { if(d==1) r="/dynamic_type_result.jsp"; else if(d==2) r="/update.jsp"; return SUCCESS; }
带参数结果集:
<s:property value="d"/><br/> <s:property value="#parameters.d"/> <s:debug></s:debug>
<action name="DynamicTypeResult" class="com.zxj.action.DynamicTypeResult"> <result type="redirect">/dynamic_type_result.jsp?r=${d}</result> </action>
相关文章推荐
- JQuery+Strusts1.x无刷新登录
- java struts常见错误以及原因分析
- Struts之logic标签库详解
- 通过实例深入学习Java的Struts框架中的OGNL表达式使用
- Java的Struts框架中append标签与generator标签的使用
- struts2的select标签用法实例分析
- SSH框架网上商城项目第20战之在线支付平台
- 在Java的Struts框架下进行web编程的入门教程
- 详解Java的Struts框架中注释的用法
- java中struts 框架的实现
- 利用Java的Struts框架实现电子邮件发送功能
- 在Java的Struts框架中ONGL表达式的基础使用入门
- 详解Java的Struts框架中栈值和OGNL的使用
- Java的Struts框架简介与环境配置教程
- Java的Struts框架中的if/else标签使用详解
- 简单说明Java的Struts框架中merge标签的使用方法
- 详解Java的Struts框架中上传文件和客户端验证的实现
- Java的Struts框架中Action的编写与拦截器的使用方法
- sprng和struts有什么区别?
- Java的Struts框架中<results>标签的使用方法