Struts2的学习(2)--Action类成员变量怎么获取表单属性值
来源:互联网 发布:2017年网络热点 编辑:程序博客网 时间:2024/04/30 16:01
我们现在讨论这样一个问题:Action类里面的成员变量是怎么通过表单传进来的?
1.有这样一个Action类:EmployeeAction.java
- package com.yu.struts2.app;
- import java.util.Map;
- import org.apache.struts2.interceptor.RequestAware;
- public class EmployeeAction implements RequestAware {
- private Integer employeeId;
- private Dao dao = new Dao();
- public String list(){
- requestMap.put("emps", dao.getEmployees());
- return "list";
- }
- public String delete(){
- dao.delete(employeeId);
- return "delete";
- }
- private Map<String, Object> requestMap;
- @Override
- public void setRequest(Map<String, Object> arg0) {
- // TODO Auto-generated method stub
- this.requestMap = arg0;
- }
- public Integer getEmployeeId() {
- return employeeId;
- }
- public void setEmployeeId(Integer employeeId) {
- this.employeeId = employeeId;
- }
- }
2.struts2运行流程图-1:
ActionProxy是Action的一个代理类。也就是说Action的调用是通过ActionProxy实现的,其实就是调用了ActionProxy.execute()方法,而该方法又调用了ActionInvocation.invoke()方法。
ActionInvocation就是Action的调用者。ActionInvocation在Action的执行过程中,负责Interceptor、Action和Result等一系列元素的调度。
3.由下面struts-default.xml文件中的参数如下:
- <interceptor-stack name="defaultStack">
- <interceptor-ref name="exception"/>
- <interceptor-ref name="alias"/>
- <interceptor-ref name="servletConfig"/>
- <interceptor-ref name="i18n"/>
- <interceptor-ref name="prepare"/>
- <interceptor-ref name="chain"/>
- <interceptor-ref name="scopedModelDriven"/>
- <interceptor-ref name="modelDriven"/>
- <interceptor-ref name="fileUpload"/>
- <interceptor-ref name="checkbox"/>
- <interceptor-ref name="datetime"/>
- <interceptor-ref name="multiselect"/>
- <interceptor-ref name="staticParams"/>
- <interceptor-ref name="actionMappingParams"/>
- <interceptor-ref name="params"/>
- <interceptor-ref name="conversionError"/>
- <interceptor-ref name="validation">
- <param name="excludeMethods">input,back,cancel,browse</param>
- </interceptor-ref>
- <interceptor-ref name="workflow">
- <param name="excludeMethods">input,back,cancel,browse</param>
- </interceptor-ref>
- <interceptor-ref name="debugging"/>
- <interceptor-ref name="deprecation"/>
- </interceptor-stack>
- <!-- The completeStack is here for backwards compatibility for
- applications that still refer to the defaultStack by the
- old name -->
- <interceptor-stack name="completeStack">
- <interceptor-ref name="defaultStack"/>
- </interceptor-stack>
默认的拦截器为defaultStack,所以就有调用拦截器的顺序为exception、alias....,最后一个为deprecation
在目标到达Action之前,还需要调用params拦截器:Parameters拦截器将把表单字段映射到ValueStack栈的栈顶对象的各个属性中。如果某个字段在模型里没有匹配的属性,Param拦截器将尝试ValueStack栈中的下一个对象。
0 0
- Struts2的学习(2)--Action类成员变量怎么获取表单属性值
- struts2 Action获取表单传值(属性,类))
- struts2 - View页面中获取Action的成员变量
- struts2 - View页面中获取Action的成员变量
- Struts2的ValueStack中没有Action属性值(成员)
- struts2 Action获取表单传值的三种方法
- struts传递表单取不到值,没有写错表单int属性名,action中的成员变量名
- struts2 Action获取表单传值
- 在struts2的action那个类中怎么获取session
- struts2 无法获取action属性的问题解决
- struts2 Action获取表单数据
- struts2 Action获取表单数据
- struts2 Action获取表单数据
- struts2 Action获取表单数据
- struts2 Action获取表单数据
- struts2 action中成员变量的生存周期
- struts2学习(二)—action获取表单提交数据的三种方式
- struts2 表单回填与action里的属性
- Redis 的性能幻想与残酷现实
- JSP中获取HTML中的中文内容是乱码的解决方法---开发中遇到的问题
- HDU-2138-How many prime numbers(米勒拉宾素数测试)
- 回调函数
- android中的mvp模式(二)
- Struts2的学习(2)--Action类成员变量怎么获取表单属性值
- Java爬取百度翻译
- 中国各城市PM2.5数据间的相关分析
- Docker系列二
- Effective Objective-C 2.0 学习笔记---(一)
- 设计模式系列(十四)组合模式(Composite Pattern)
- Object类的常见方法
- Weka分类---J48
- 137Single Number II