我在 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/