Struts2中StrutsRequestWrapper类

该类可获取一些请求地址,在自定义struts2标签时用到

 1 //获取值栈
 2         Map cont= this.getStack().getContext();
 3         StrutsRequestWrapper req=(StrutsRequestWrapper)cont.get(StrutsStatics.HTTP_REQUEST);
 4         //获取请求action的地址
 5         String url=(String)req.getAttribute("javax.servlet.forward.request_uri");
 6         System.out.println("PageComponent.start()"+url);
 7
 8         //获取的标签所在jsp页面的全路径
 9         StringBuffer stringBuffer=req.getRequestURL();//http://localhost:8080/Struts2HibernateSpring/list.jsp
10         System.out.println("PageComponent.start()"+stringBuffer.toString());
11
12         //获取的是请求后台的地址,其中的参数的值
13         Object object=req.getAttribute("pageNo");
14         System.out.println("PageComponent.start()");
15         //key--->value
16         //javax.servlet.forward.query_string-->(获取请求参数字符串)pageNo=1&seachName=%E5%B0%9A%E6%99%93%E9%A3%9E
17         //javax.servlet.forward.request_uri-->(获取请求路径到方法名)/Struts2HibernateSpring/StudentAction!queryStudent
18         //javax.servlet.forward.context_path-->( 获取项目名)/Struts2HibernateSpring
19         //javax.servlet.forward.servlet_path--> (获取请求的action名字+method名字)/Struts2HibernateSpring
20         //struts.request_uri --->(获取请求路径到方法名)/Struts2HibernateSpring/StudentAction!queryStudent
21         //struts.view_uri -->(获取struts请求返回的jsp的路径)/list.jsp
22         //__cleanup_recursion_counter---> 1
23         //characterEncodingFilter.FILTERED--> true
24         //struts.actionMapping--->ActionMapping{name='StudentAction', namespace='/', method='queryStudent', extension='null', params=null, result=null}
25         //org.springframework.web.context.request.async.WebAsyncManager.WEB_ASYNC_MANAGER--->org.springframework.web.context.request.async.WebAsyncManager@10f892d
26         //struts.valueStack--->com.opensymphony.xwork2.ognl.OgnlValueStack@1dc2914
27         Enumeration<String> pd=req.getAttributeNames();
28         while(pd.hasMoreElements()){
29             String nameString=pd.nextElement();
30             Object object2=req.getAttribute(nameString);
31             System.out.println("PageComponent.start()"+object2);
32         }
33         

View Code

 

时间: 2024-09-29 15:09:54

Struts2中StrutsRequestWrapper类的相关文章

ognl-求解struts2 中 OgnlValueStack 类的字段 overrides; 是干吗用的?

问题描述 求解struts2 中 OgnlValueStack 类的字段 overrides; 是干吗用的? 求解struts2 中 OgnlValueStack 类的字段 Map overrides; 是干吗用的? 它里面 和context 是一样的吗??

在struts2的action类中获取ognl表达式中的多选框中被选中值

问题描述 xml配置信息<packagename="employee"namespace="/emp"extends="struts-default"><actionname="empAddSave"class="com.tfsoftware.struts2employee.EmpAddSave"method="execute"><resultname=&q

在Struts2中使用OGNL

OGNL是XWork引入的一个非常有效的数据处理的工具.我们已经了解了OGNL的基本操作和OGNL的内部结构,接下来,我们来看看XWork对OGNL做了什么样的加强,以及OGNL的体系在Struts2中如何运转.  从例子开始  我们先从一个例子开始,看看数据在Struts2中是如何运转的.  Java代码   /**   * @author Downpour   */   public class User {              private Integer id;         

在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等

目录(?)[-] ValueStack 如何得到值栈: 如何将对象存入值栈: 让值栈执行表达式来获得值: 在JSP中跳过栈顶元素直接访问第二层: 在JSP中访问值栈对象本身(而不是它们的属性) ActionContext ValueStack与ActionContext的联系和区别: 如何获得ActionContext: 如何向ActionContext中存入值: 如何从ActionContext中读取值: HttpServletRequest类或request的Map 使用HttpServle

struts2中action和field级别错误处理

在struts2中,一般的action都继承ActionSupport这个类,可以重写public void validate()来进行数据校验,对应提示信息来说一般有两个比较常用的方法就是this.addFieldError("field name","error message"); 和 this.addActionError("error message");两个方法. 由于在ActionSupport这个类实现了ValidationAwa

struts2中一个表单中提交多个请求的例子

  在很多Web应用中,为了完成不同的工作,一个HTML form标签中可能有两个或多个submit按钮,Struts2中提供了另外一种方法,使得无需要配置可以在同一个action类中执行不同的方法(默认执行的是execute方法) 使用这种方式也需要通过请求参来来指定要执行的动作.请求参数名的格式为 action!method.action 注:由于Struts2只需要参数名,因此,参数值是什么都可以. 下面我就给出一个实例程序来演示如何处理有多个submit的form: 主页面more_su

Struts2中Action接收参数的方法

Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=Magci: 2.使用DomainModel接收参数:     a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法:    

struts2中访问指定了方法,但是却把action下所有的方法都执行了一次这是怎么回事啊

问题描述 struts2中访问指定了方法,但是却把action下所有的方法都执行了一次这是怎么回事啊 具体配置如下图 xml配置如下: jsp如下: action如下: 解决方案 你的BaseAction是自定义的吧,还是哪个别的第三方包的,常用的是继承struct自带的MappingDispatchAction,这个是和struct.xml搭配来用,你也可以继承MappingDispatchAction这个类,然后再写你的action模式 解决方案二: 那应该就是你调用的函数getByPage

javaweb-关于struts2中action层的问题

问题描述 关于struts2中action层的问题 今天公司要我把实体entity复制一份,写在一个类中,查出来的数据通过BeanUtils.copyProperties放在复制的那个类中,action不实现modelDriven,而是get/set复制的这个类.前面这些只是今天遇到的,大概说一下. 主要想问的是,公司那边不让写这一句: 那我查到的东西,怎么在jsp页面写呢?我唯一能想到的是在action中写一个List属性,get/set.不过我觉得这样好麻烦,他为什么不让使用这一句呢?我搞不