一. 问题及现象:
在jsp文件中,使用springmvc的<form:form> , <form:input> 等标签来前后端的交互时,如果想要在<form:input>中使用<fmt:message>或者<fmt:formatDate>,则会报错,不识别此语法。
例如:
<form:input path="Name" placeholder="<fmt:message key='activity.name'/>" class="col-sm-2" cssStyle="width: 100%;" />
二. 解决办法:
<form:input> 等这类form标签和<fmt:message>等这类fmt标签分开写,写fmt标签的时候设置fmt的var属性,然后在form标签中调用此变量。
例如:
<fmt:message key='activity.create.remark' var='theremark'/>
<form:textarea path="remark" placeholder="${theremark}"></form:textarea>
三 . fmt相关知识
JSTL格式化标签又称为I18N标签库,主要用来编写国际化的WEB应用,使用此功能可以对一个特定的语言请求做出合适的处理。例如:中国内地用户将显示简体中文,台湾地区则显示繁体中文,使用I18N格式化标签库还可以格式化数字和日期,例如同一数字或日趋,在不同国家可能有不同的格式,使用I18N格式标签库可以将数字和日期格式为当地的格式。
在JSP页面中要使用到格式化标签,需要引入下面的语句:
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"% >
1. 格式化标签
<fmt:fromatNumber>
<fmt:formatDate>
<fmt:parseDate>
<fmt:parseNumber>
<fmt:setTimeZone>
<fmt:timeZone>
2. 国际化标签
<fmt:setLocale>
<fmt:requestEncoding>
<fmt:bundle>
<fmt:message>
<fmt:param>
<fmt:setBundle>
(其中标签<fmt:fromatNumber>,会根据区域定制的方式将数字格式化成数字,货币,百分比。 属性: value:要格式化的数字 ,type:按照什么类型格式化)