代码之家  ›  专栏  ›  技术社区  ›  javatar

URL重写时的JBoss阀编码问题

  •  0
  • javatar  · 技术社区  · 15 年前

    我有一个应用程序,用EJB3、JSF和Maven编码,它运行在JBoss4.2.2ga上。

    我已经面临两天的问题是,我无法转换在运行时添加到URL的非英语字符。例如,有一个搜索文本框和一个按钮。当用户输入一个包含非英语字符的单词并按下按钮时,它将添加到URL中,其中包含错误字符,如%56或&347等。

    有没有什么方法可以实现我在这里所要做的?顺便问一句,还有什么方法可以在jboss端配置而不是应用程序端(filters或context.xml等)解决这个问题吗?

    任何帮助都将不胜感激 谢谢, 巴里

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

    例子: 从URL获取参数: string somestring=servletactioncontext.getrequest().getParameter(“somestringfromurl”); 对字符串进行编码; string encoded=urlencoder.encode(somestring,“iso-8859-9”);

    2 回复  |  直到 13 年前
        1
  •  1
  •   pra    15 年前

    在tomcat server.xml中找到适当的connector元素(deploy/jboss-web.deployer/server.xml对于最新版本)并添加属性 URIEncoding 具有价值 UTF-8 .

        2
  •  0
  •   javatar    14 年前

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

    示例:从URL获取参数:

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

    对字符串进行编码;

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