I18N 字符集编码 Spring-JSP
I18N charset Encoding Spring-JSP
我正在尝试将 é
显示为我的 form:input
字段的标题,但无法正常工作。
示例 1:
<form:input type="text" path="something" title="é"/>
输出:
示例 2:
<input type="text" title="<spring:message code="mySpecialChar" />"/>
输出:
示例 3:
<form:input type="text" path="something" title="<spring:message code="mySpecialChar" />"/>
输出:
错误,我不允许这样做,为了解决这个问题,我尝试了示例 4。
示例 4:
<spring:message code=mySpecialChar" var="mySpecialChar"/>
<form:input type="text" path="something" title="${mySpecialChar}"/>
输出:
如何让我的示例 4 正常工作?
您需要在控制器中取消转义您的值,首先您必须自动装配您的 MessageSource
@Autowired
private MessageSource messageSource;
比您可以使用例如StringEscapeUtils
String message = messageSource.getMessage("mySpecialChar", null, Locale.getDefault());
model.addAttribute("mySpecialChar", StringEscapeUtils.unescapeHtml([YOUR VALUE]));
不仅仅是
<form:input type="text" path="something" title="${mySpecialChar}"/>
快速搜索后,我发现我必须将 htmlEscape="false"
添加到我的 <spring:message>
标签中。
我正在尝试将 é
显示为我的 form:input
字段的标题,但无法正常工作。
示例 1:
<form:input type="text" path="something" title="é"/>
输出:
示例 2:
<input type="text" title="<spring:message code="mySpecialChar" />"/>
输出:
示例 3:
<form:input type="text" path="something" title="<spring:message code="mySpecialChar" />"/>
输出:
错误,我不允许这样做,为了解决这个问题,我尝试了示例 4。
示例 4:
<spring:message code=mySpecialChar" var="mySpecialChar"/>
<form:input type="text" path="something" title="${mySpecialChar}"/>
输出:
如何让我的示例 4 正常工作?
您需要在控制器中取消转义您的值,首先您必须自动装配您的 MessageSource
@Autowired
private MessageSource messageSource;
比您可以使用例如StringEscapeUtils
String message = messageSource.getMessage("mySpecialChar", null, Locale.getDefault());
model.addAttribute("mySpecialChar", StringEscapeUtils.unescapeHtml([YOUR VALUE]));
不仅仅是
<form:input type="text" path="something" title="${mySpecialChar}"/>
快速搜索后,我发现我必须将 htmlEscape="false"
添加到我的 <spring:message>
标签中。