java的action中如何修改ruquest里面所有参数名,然后把修改好的,再放到request中!请教各位大侠了!谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的action中如何修改ruquest里面所有参数名,然后把修改好的,再放到request中!请教各位大侠了!谢谢相关的知识,希望对你有一定的参考价值。

楼主的意思是:

JAVA中action控制器如何修改request的attribute里存放的键值属性。

解决方法:

action控制器主要是处理用户请求,调用业务,返回响应,以和界面交互

和界面交互首先就是如何将处理的数值传递,这里需要用到作用域。

作用域按照依次分为page、request、session、appliction

 

对于request的设置及修改

String request = "request";//定义一个变量
ServletActionContext.getRequest().setAttribute("request属性", request);//设置属性的键值(再次设置即覆盖前者)

这里,当使用

ServletActionContext.getRequest().getAttribute("request属性");

即可取出该属性值

 

希望能够帮到楼主

追问

你理解错了!我只要修改request里面的参数的名字!然后把修改好的参数再放到request里面去,修改前和修改后request里面参数对应的值还没有变动!

追答

好吧,我理解错了

楼主可以思路变换一下,既然J2EE没有提供方法来解决,我们可以换一个方式

先删除后增加,相当于修改

Object requestValue = ServletActionContext.getRequest().getAttribute("requestOld");
ServletActionContext.getRequest().setAttribute("requestNew", requestValue);

这样不也相当于修改了吗?性能上无影响,简化成链式代码更简单

ServletActionContext.getRequest().setAttribute("requestNew", ServletActionContext.getRequest().getAttribute("requestOld"));

欢迎追问

追问

这里写不下,私信上发你了!

参考技术A HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:

(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法
(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数.
例:String username = request.getAttribute("username");
username= "测试";

request.setAttribute("username",username);

java中,我在后台action中设置了session的值,webservice中得到session,但是里面是空的。

参考技术A 你对webservice的调用属于rmi,是以wsdl为标准的,属于一次请求,webservice服务端与你进行通信,除非你在webservice服务端重新设置一下session,否者当然为空,是两个流程。本回答被提问者采纳 参考技术B 能不能详细点,最好有代码能看懂追问

1、java中,我在后台action中设置了session的值,
session.setAttribute("testKey", "testValue");
在前台的jsp页面可以得到session中的testKey的值,这个你应该明白;
2、我现在在webservice cxf中得到session,此时的session中应该有前面的testKey,但是我现在的session中什么内容页没有。

以上是关于java的action中如何修改ruquest里面所有参数名,然后把修改好的,再放到request中!请教各位大侠了!谢谢的主要内容,如果未能解决你的问题,请参考以下文章

js如何修改form标签中action和target参数

from表单跳转到java类的方法里面

scrapy中的ruquest

ServletActionContext访问Servlet API

vuex里面的store架构

java中使用ArrayList如何修改里面的内容.