使用 jQuery .load() 加载 jsp 页面会导致 fmt:message 出现问题

Loading jsp page using jQuery .load() causes issue with fmt:message

我有 jsp 个页面,我想使用 .load() 函数加载,在我想加载的页面中有 fmt,< fmt :message key="some_text"/ >, < select> 过滤器等等。一切正常 "perfectly"。页面加载,fmt 的加载。但问题是,在我在该页面上花费 10 分钟左右并想要使用过滤器之后,当页面重新加载时,fmt 没有加载。我得到这样的东西 ???some_text???.

这是ajax电话

$('#some_div').load('/ajax/re/load.jsp', ajaxOptions);

这里是 load.jsp 文件

<%@taglib prefix="sw" uri="/WEB-INF/sw.tld" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="menu" tagdir="/WEB-INF/
<div id="js-search-box" class="search-box">
    <label>
        <input id="div_id_${param.itemId}" type="text" placeholder="   <fmt:message key="search"/>">
        <i class="fa fa-search"></i>
    </label>
</div>

有没有人遇到过类似的问题? 谢谢

我知道这是一个老问题,但我今天也遇到了同样的问题,这是 google 上唯一弹出的问题,而且还没有得到解答。

我的问题(也是问题中的问题)是我忘记为页面设置编码。

<%@page pageEncoding="utf-8" contentType="text/html"%>放在最上面就可以了。

否则,如果这不是您的问题,那么您的捆绑包可能会混淆。使用 <fmt:setBundle ...<fmt:setLocale ...

在页面开头再次设置它们