我有一个应用程序。用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”);
答案 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");