HTTP请求发送到StrutsAction,编码设置(Java)

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

本文关键字:设置 编码 Java StrutsAction 请求 HTTP      更新时间:2023-09-26

我正在开发一个基于struts框架的Java应用程序。我有几个Action类,它们扩展了类"Action"。通过HTML公式发送POST请求运行良好。我正在使用Javascript/Ajax创建一个HTTP请求,如:

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

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

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

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

您应该在StrutsAction类中使用这个方法。

例如,字符串:

"<Français> Happy & Sad" 

将成为

"<Français> Happy & Sad"