为什么 java 提交给 Spring 控制器后无法识别 html 文本?

Why does java can't recognize html text after submtting to Spring controller?

我通过单击按钮将 js 变量发送到 Spring 控制器。 这就是我在 js 中的内容:

function submitArticle()
{
    var pdata= $('textarea').froalaEditor('html.get');
    $.post("/submitProject", pdata).done(function(response) {
        console.log("Response: " + pdata);
    });
}

所以效果很好,console.log 接下来显示:<h1>New Article</h1><p>Some text</p>

但是,这就是我在 Spring 控制器中得到的:

%3Ch1%3ENew+Article%3C%2Fh1%3E%3Cp%3ESome+text%3C%2Fp%3E=

它只是将<></code>和<code>/替换为一些代码。如何将它们替换为普通标签。因为我想将此 html 代码存储在 java String.

我的Spring控制器:

@PostMapping("/submitProject")
public ModelAndView submitProject(@RequestBody String html, @ModelAttribute(value = "LoggedUser") User user)
{
    System.out.println(html);
    return new ModelAndView("redirect:/");
}

作为对象发送并接收 Map

$.post("/submitProject", {pdata})...

public ModelAndView submitProject(@RequestBody Map<String, String> data ...
// -> String html = data.get('pdata');

查看 java.net.URLDecoder#decode 方法。 当我 运行 你通过它发布的代码时,我能够检索到原始文本