JBOSS + SPRING RequestParam URL ENCODING

时间:2016-01-23 07:50:51

标签: java spring jboss

我有一个端点

@RequestMapping(value="/register")
public String register(@RequestParam("p") String p) {

}

传递给p参数的值实际上是编码的URL。但是,当它到达我的端点时,它会自动转换为解码后的形式。我希望它保持编码形式。

有办法吗?也许有些配置?

1 个答案:

答案 0 :(得分:0)

我同意@JB Nizet。最方便的方法是:

@RequestMapping(value="/register")
public String register(@RequestParam("p") String p) {
    p = URLEncoder.encode(value, "utf-8");
}

其中utf-8就是例如。实际编码取决于您的情况。

确定它不是自动的,但不需要在部署的任何servlet服务器上重新配置servlet上下文。

要在utf-8中强制使用JBoss编码网址,您可以尝试添加到服务器配置中:

 <system-properties>
        <property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
        <property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
 </system-properties>