url重写时jboss valve编码问题

时间:2010-06-30 11:47:16

标签: jboss url-rewriting tomcat-valve

我有一个应用程序。用ejb3,jsf和maven编码,运行在jboss 4.2.2GA上

我遇到的问题是2天我无法转换在运行时添加到url的非英文字符。例如,有一个搜索文本框和一个按钮。当用户输入包含非英文字符的单词并按下该按钮时,会将其添加到包含%56或& 347等错误字符的网址中。

有没有办法实现我在这里尝试做的事情? BTW,还有什么方法可以在jboss端配置而不是应用程序端(过滤器或context.xml等)来解决这个问题?

任何帮助将不胜感激 非常感谢, 巴里斯

- 编辑 :我已经使用URLEncoder解决了这个问题。当我将变量传递给action方法时,我使用URLEncoder将其编码为正确的字符集。

实施例: 从网址中获取参数: String someString = ServletActionContext.getRequest()。getParameter(“someStringFromURL”); 对字符串进行编码; 字符串编码= URLEncoder.encode(someString,“ISO-8859-9”);

2 个答案:

答案 0 :(得分:1)

在tomcat server.xml中找到相应的连接器元素(deploy / jboss-web.deployer / server.xml以获取最新版本),并添加值为URIEncoding的属性UTF-8。< / p>

答案 1 :(得分:0)

我已经使用URLEncoder解决了这个问题。当我将变量传递给action方法时,我使用URLEncoder将其编码为正确的字符集。

示例:从URL中获取参数:

String someString = ServletActionContext.getRequest().getParameter("someStringFromURL"); 

对字符串进行编码;

String encoded = URLEncoder.encode(someString, "ISO-8859-9");