Struts2中StrutsRequestWrapper类
该类可获取一些请求地址,在自定义struts2标签时用到
//获取值栈
Map cont= this.getStack().getContext();
StrutsRequestWrapper req=(StrutsRequestWrapper)cont.get(StrutsStatics.HTTP_REQUEST);
//获取请求action的地址
String url=(String)req.getAttribute("javax.servlet.forward.request_uri");
System.out.println("PageComponent.start()"+url); //获取的标签所在jsp页面的全路径
StringBuffer stringBuffer=req.getRequestURL();//http://localhost:8080/Struts2HibernateSpring/list.jsp
System.out.println("PageComponent.start()"+stringBuffer.toString()); //获取的是请求后台的地址,其中的参数的值
Object object=req.getAttribute("pageNo");
System.out.println("PageComponent.start()");
//key--->value
//javax.servlet.forward.query_string-->(获取请求参数字符串)pageNo=1&seachName=%E5%B0%9A%E6%99%93%E9%A3%9E
//javax.servlet.forward.request_uri-->(获取请求路径到方法名)/Struts2HibernateSpring/StudentAction!queryStudent
//javax.servlet.forward.context_path-->( 获取项目名)/Struts2HibernateSpring
//javax.servlet.forward.servlet_path--> (获取请求的action名字+method名字)/Struts2HibernateSpring
//struts.request_uri --->(获取请求路径到方法名)/Struts2HibernateSpring/StudentAction!queryStudent
//struts.view_uri -->(获取struts请求返回的jsp的路径)/list.jsp
//__cleanup_recursion_counter---> 1
//characterEncodingFilter.FILTERED--> true
//struts.actionMapping--->ActionMapping{name='StudentAction', namespace='/', method='queryStudent', extension='null', params=null, result=null}
//org.springframework.web.context.request.async.WebAsyncManager.WEB_ASYNC_MANAGER--->org.springframework.web.context.request.async.WebAsyncManager@10f892d
//struts.valueStack--->com.opensymphony.xwork2.ognl.OgnlValueStack@1dc2914
Enumeration<String> pd=req.getAttributeNames();
while(pd.hasMoreElements()){
String nameString=pd.nextElement();
Object object2=req.getAttribute(nameString);
System.out.println("PageComponent.start()"+object2);
}
Struts2中StrutsRequestWrapper类的更多相关文章
- 关于struts2中ActionContext类的作用
关于struts2中ActionContext类的作用有三个: 1.获取三大作用域对象及页面参数 2.是struts标签的上下文对象 3.ThreadLocal内装的就是ActionContext 怎 ...
- Struts2中Action类的三种写法
一.普通的POJO类(没有继承没有实现)-基本不使用 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创 ...
- 3.Struts2中Action类的三种写法
一.普通的POJO类(没有继承没有实现)-基本不使用 public class DemoAction1 { public String execute(){ System.out.println(&q ...
- 2018.11.19 Struts2中Action类的书写方式
方式1: 方式2: 方式3
- 转载 Struts2之------Action类中的get,set方法和execute方法的使用规范和使用流程(规范是没有理由的,必须遵守!!!)
1,Action中get,set方法的使用流程? 前台form中有一个<input type="text" name="username"/> 如果 ...
- Struts2中的ActionContext、OGNL及EL的使用
文章分类:Java编程 本文基于struts2.1.8.1,xwork2.1.6 1.EL EL(Expression Language)源于jsp页面标签jstl,后来被jsp2.0 ...
- struts2中各种值栈问题
struts2中OGNL和 ValueStack(一) 收藏 学习的时候,总分不清楚在struts2中页面的传值和取值是怎么来完成的,所以从网上搜了很多资料,现在把这些资料总结写,留着以后参考..看完 ...
- [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- 在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等 .
笔者不知道该用哪个词来形容ValueStack.ActionContext等可以在Struts2中用来存放数据的类.这些类使用的范围不同,得到的方法也不同,下面就来一一介绍. 声明:本文参考Strut ...
随机推荐
- vertica单节点安装教程
[准备] 1.CentOS 7.6的镜像盘(下载地址:官网) 2.vertica-9.1.0-0.x86_64.RHEL6(下载地址:https://pan.baidu.com/s/1IjWBUTku ...
- sql注入分析
输入 1:sql为:select * from users where id = 1; 输入'测试:回显:You have an error in your SQL syntax; check the ...
- supervisor安装与问题
[转]安装supervisor以及可能碰到的问题 单击此处查看原文 supervisor作为一个进程管理的python软件非常的给力 但是一不小心就会遇到一些问题 就比如下面这个: unix:///v ...
- UVa 1662 Brackets Removal
https://vjudge.net/problem/UVA-1662 题意: 给出一个序列,判断序列中哪些括号是可以去掉的,只可以改变符号.输出括号最少的序列. 思路: 感觉这道题目就是写起来繁琐了 ...
- ref用于类类型
static void Main(string[] args) { Fruit f = new Fruit() { Weight = 1, Color = "&qu ...
- Validate Binary Search Tree,判断是否是二叉排序树
算法分析:两种方法,一种是中序遍历,然后得到一个序列,看序列是否是有序的.第二种,是用递归. 中序遍历: public class Solution { List<Integer> lis ...
- python 字符串的反转
def string_reverse(str1): rstr1 = '' index = len(str1) : rstr1 += str1[ index - ] index = index - re ...
- c++指向指针的指针与 c++指针作为函数参数传递问题
一直搞不明白,c++中指针到底是个啥东西,今天遇到到c++,指向指针的指针的问题,突然有点开窍了. 举个例子: int main(int argc, char** argv){ int a[5]={1 ...
- TensorFlow实现FM
看了网上的一些用tf实现的FM,很多都没有考虑FM实际使用中数据样本稀疏的问题. 我在实现的时候使用 embedding_lookup_sparse来解决这个问题. 对于二阶部分,由于embeddin ...
- RabbitMQ 消息传递的可靠性
生产者保证消息可靠投递 消费者保证消息可靠消费 RabbitMQ持久化 参考:https://blog.csdn.net/RobertoHuang/article/details/79605185