发送到 Struts 操作的 HTTP 请求,编码设置 (Java)

HTTP Request sent to a Struts Action, encoding settings (Java)

我正在开发一个基于 struts 框架的 Java 应用程序。我有几个扩展 class“Action”的 Action classes。通过 HTML-公式发送 POST 请求工作正常。我正在使用 Javascript/Ajax 创建 HTTP 请求,例如:

goMyAlertsCommandQueue.addAjaxCall({
    type : "POST",
    url : './showDetails.do',
    dataType : "html",
    data : ({
        Action : 'saveAlert',
        Title : title} ......

在我的操作 class 的执行方法中,我可以访问属性 "title"。 我的问题是,如果我有一个输入字段,我想将其输入发送到我的操作 class,包含特殊字符,如“&”,将转换为 &。 它发生在执行操作方法中的任何内容之前。

我尝试添加“contentType: "application/x-www-form-urlencoded;charset=utf-8", " 到我的 AjaxCall,但没有帮助。

我认为 Jakarta Commons Lang 库的 StringEscapeUtils.unescapeHtml4() 方法正是您要找的。

您应该在 Struts 操作中使用此方法 class。

例如字符串:

"<Français> Happy & Sad" 

会变成

"<Français> Happy & Sad"