java - Struts 2.0.14 GET 参数不是 URLEncoded,这是一个错误吗?

标签 java struts2 get decode urldecode

我在 url 中传递的参数有问题。

假设请求是:/struts/MyAction.action?param=foo%40bar.com

action 字段将“param”字段设置为“foo%40bar.com”, 这是一个错误还是我对 Struts 的期望太高?

我的直觉告诉我,我应该得到值:“foo@bar.com”,例如,如果我将该参数作为 POST 表单字段传递,就会发生这种情况。

我正在使用默认拦截器堆栈并且我的操作类扩展了 ActionSupport。我在 WebSphere6.1 和 GlassFish2.1 上得到一些行为。

谢谢


你好,

问题是由代理实现中的错误引起的。我们编写了一个位于 Web 应用程序前面的自定义代理服务器。它第二次对 URL 参数进行编码,这就是为什么在 Struts 中我使用 %40 而不是 @。 错误现已修复,参数正在正确传递。

谢谢你的帮助

最佳答案

我不认为 Struts2 负责解码参数,而是 servlet 容器,例如Tomcat、Jetty 等

关于java - Struts 2.0.14 GET 参数不是 URLEncoded,这是一个错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4412001/

相关文章:

java - 如何在 JavaScript 警报框中打印 Struts2 ActionMessage

php - 我可以从通过 AJAX 调用的 PHP 脚本获取当前页面 URL 吗?

Java 俄罗斯方 block - 旋转

java - 将 URL 中的特定 java 类作为 JSP 或独立类运行

java - JNI 到 Java 异常中的 NoSuchMethodError

java - MVC复杂业务逻辑职责

spring - JPA @ManyToMany 写在创建但不更新

java - struts 2在div中加载页面

groovy - 如何使用 SOAPUI 解压缩 GET 响应

javascript - 在 GET 请求中从 Node.js 中的 JSON 读取值