【问题标题】:jboss valve encoding problem while url rewritingurl重写时jboss阀门编码问题
【发布时间】:2010-06-30 11:47:15
【问题描述】:

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

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

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

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

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

示例: 从 URL 中获取参数: String someString = ServletActionContext.getRequest().getParameter("someStringFromURL"); 对字符串进行编码; 字符串编码 = URLEncoder.encode(someString, "ISO-8859-9");

【问题讨论】:

    标签: jboss url-rewriting tomcat-valve


    【解决方案1】:

    在你的 tomcat server.xml 中找到合适的连接器元素(deploy/jboss-web.deployer/server.xml 用于最新版本)并添加属性URIEncoding,其值为UTF-8

    【讨论】:

    • 嗨,一开始非常感谢,但是,即使我尝试过,结果也是一样的。如果您对此有其他想法,我会很高兴。
    【解决方案2】:

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

    示例:从 URL 中获取参数:

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

    编码字符串;

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多