问题描述
我正在将我的项目从Struts 2.3.1升级到2.5.12由于ParametersAware
在2.5.12中已弃用,因此我想将ParametersAware
更改为HttpParametersAware
.
I'm upgrading my project from struts 2.3.1 to 2.5.12Since ParametersAware
is deprecated in 2.5.12, I want to change ParametersAware
to HttpParametersAware
.
但是setParameter()
方法在这两个方面完全不同.
But setParameter()
method is entirely different in both.
-
setParameters(HttpParameters parameters)
(支撑2.5.12) -
setParameters(Map<String,String[]> parameters)
(支撑2.3.1)
setParameters(HttpParameters parameters)
(struts 2.5.12)setParameters(Map<String,String[]> parameters)
(struts 2.3.1)
该怎么做?
推荐答案
将Map<String,String[]>
更改为 HttpParameters
.后面的类实现了Map<String,Parameter>
,因此您可以使用用来获取/输入参数到地图.
Change Map<String,String[]>
to HttpParameters
. The later class implements a Map<String,Parameter>
, so you can usethis to get/put parameters to the map.
最有趣的是具有实现的Parameter
接口 Parameter.Empty , Parameter.File ,参数.请求.最后一个用于检索请求参数.
The most interesting is a Parameter
interface that has implementations Parameter.Empty, Parameter.File, Parameter.Request.The last one is used to retrieve request parameters.
此答案如何在JSP中获取参数将阐明 request的典型用法参数,如果您想手动操作参数.
This answer How could I get a parameter in JSP will throw a light on a typical usage of request parameters if you want to manipulate parameters manually.
另一种方法(建议不)是从请求本身获取请求参数.请参阅 Struts 2.0登录中使用的拦截器.
Another approach (which is not recommended) is to get request parameters from the request itself. See Interceptors use in login in Struts 2.0.
这篇关于将ParameterAware更改为HttpParametersAware的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!