首先,jstl既然可以国际化,那么必然可以自动根据local设置来选择资源文件。
2,fmt:setLocal 可以设置Local,从而改变输出格式。
3,fmt:message 可以输出资源文件里的key对应的value。
<fmt:message key=xxx"/>
和struts一样 还可以传参数
<fmt:message key=xxx"/>
<fmt:param value="${abc}"/>
</fmt:message>
4,<fmt:bundle>
<fmt:setBundle>
这地方有点意思,首先我在工程的WEB-INF/classes下面建立了一个资源文件resources.properties。然后在jsp页面里
<fmt:bundle basename="resources.properties">使用此资源文件。
Nitrox插件提示找不到resources.properties的警告.
使用<fmt:message key="xxx"/>也无法显示.
原因:工程没有指定input ,output的对应关系.这样classes并不是classpath路径.
解决办法:
设置input为/WEB-INF/src ,output /WEB-INF/classes
然后把resources.properties放在 /WEB-INF/src/下面。
这样在/WEB-INF/classes/下面自动生成了一个resources.properties.这就是我想要的。
好了,在试一次,资源文件找到了。
<fmt:message key="xxx"/>也能正常显示了。
5,难道<fmt:message>必须和<fmt:bundle >搭配使用才行吗?实在觉得有点罗嗦。
没办法,jstl就是这样用的。
6,jstl使用资源文件有个大的问题,因为fmt:bundle basename="xxx" 指定死了资源文件了,那么如果local不同了
岂不是还从这个资源文件里取数据吗?这样美国的网页浏览仍旧显示日文,就不合理了.
我理解错了,<fmt:bundle basename="xxx"/>并非指定资源文件就是他,而是指资源文件的基本名字,例如,
如果是英国的local那么自动查找xxx_en.properties,如果是中国的local那么自动去查找xxx_zh.properties.
和struts是一样的.
<fmt:bundle>:资源绑定。除了以前提到过的在web.xml中声明以外,还可以利用此标签。例<fmt:bundle basename="message"></fmt:bundle>
<fmt:setLocale>:设置locale,主要是用于这种情况,一个中国人在国外,locale是en_US,但想用中文显示。例:<fmt:setLocal value="zh_CN"/>
<fmt:message>:输出properties文件中的指定内容。例<fmt:message key="user"/>
<fmt:formatNumber type="number">格式化普通数字
<fmt:formatNumber type="percent">格式化百分比
三种数字类型参数:currency,number,percent
<fmt:parseNumber var="i" type="number" value="45678.2345" />
<c:out value="${i}" escapeXml="false" /> 分析出数字
<fmt:requestEncoding value="GB18030"/> 格式化文本编码
<fmt:formatDate value="${date}" type="both" timeStyle="long" dateStyle="long" />
type="both" 输入日期也同时输出具体时间
timeStyle="long" 时间以“长”格式输出 差别:下午02时06分59秒 与 14:06:59
dateStyle="long" 日期以“长”格式输出 差别:2006年9月7日 与 2006-9-7
四种长短参数:long,short,medium,full
<fmt:timeZone value="${timezone}"/> 时区偏移,与上面可配合使用:
<fmt:formatDate value="${d}" timeZone="${zn}" type="both" />
<fmt:parseDate var="i" type="date" value="2006-12-11" />
<c:out value="${i}" escapeXml="false" /> 分析出时间
[size=medium]经常要用到格式化一些时间格式或货币格式如:
2009年06月02日 10:53:48 2000.05
在使用JSP当中通用会用到JSTL标签,借助fmt:标签可以很容易做到,代码如下:
时间:
Java代码
<fmt:formatDate value="${object[0]}" pattern="yyyy年MM月dd日 HH:mm:ss"/>
<fmt:formatDate value="${object[0]}" pattern="yyyy年MM月dd日 HH:mm:ss"/> 这里的value值是你要格式化的值,一般是后台传送到前台的Date对象 后面的pattern对应的是要显示的格式,可以自定义.
货币:
Java代码
<fmt:formatNumber value="${object[5]}" pattern="##.##" minFractionDigits="2"/>
<fmt:formatNumber value="${object[5]}" pattern="##.##" minFractionDigits="2"/> 同理,这里的Value值是任何数值类型,pattern为要显示的格式,此处为显示小数点后两位. minFractionDigits="2" 代表要精确的位数. 记住,这里的值都是通过四舍五入得到的,并非完全精确!
最后别忘记在页面的头部导入相应的
<%@ taglib uri="/WEB-INF/tld/fmt.tld" prefix="fmt" %>
当然前提是你的项目当中有相应的jar包![/size]
分享到:
相关推荐
2. **国际化标签库**:用于格式化数据显示,如日期和货币。 3. **数据库标签库**:允许直接在JSP页面中访问数据库。 4. **XML标签库**:处理XML文档的读取和操作。 5. **函数标签库**:调用预定义的函数。 在JSTL ...
2. 国际化标签库:允许开发者格式化数据以符合不同区域的格式需求,例如日期、数字和货币。 3. 数据库标签库:简化了对数据库的访问操作,可以执行查询、更新、删除等操作。 4. XML标签库:提供了对XML文件的操作...
例如,JSTL的fmt标签库可以用来格式化日期和货币,c标签库提供循环和条件判断等。 6. 注意事项: - EL的默认行为是只读,如果要修改对象属性,需要使用`pageContext.setAttribute()`或`request.setAttribute()`等...
在JSTL标签中,`${}`内就是EL表达式,如`${user.name}`表示获取名为"user"的对象的"name"属性。 ### 6. 实际应用与最佳实践 - 尽量减少在JSP页面中编写Java代码,提高页面的可读性和可维护性。 - 避免在JSP页面...
这里主要介绍两种常用的JSP标签库来实现数字格式化:JSTL(JavaServer Pages Standard Tag Library)中的`<fmt:formatNumber>`标签和EL(Expression Language)表达式。 `<fmt:formatNumber>`是JSTL fmt 标签库中的...
2. **Format Tags**: 格式化标签库,用于日期、数字、货币等的格式化,如`<fmt:formatDate>`, `<fmt:formatNumber>`。 3. **I18N Tags**: 国际化标签库,支持多语言环境,如`<fmt:message>`。 4. **Function Tags*...
- **Internationalization (I18N) and Formatting**:帮助开发者处理文本格式化和国际化问题,比如日期、货币的格式化显示。 - **Database access (SQL)**:用于执行SQL命令,例如查询数据库、更新数据等。 #### ...
4. **I18N & Formatting标签库**:支持国际化和格式化功能,如日期、货币和数字的格式化。 5. **JDBC标签库**:简化了数据库操作,无需编写大量的Java脚本代码。 **JSTL的关键特点:** 1. **简化JSP代码**:通过...
例如,你可能创建一个函数用于格式化日期,一个函数用于货币转换,或者一个用于处理字符串的操作。 在“源码”和“工具”的标签中,可能涉及到如何查看和分析`FunctionMapper`的源代码,以及如何在不同的开发工具中...
2. **Format标签库**:处理国际化和格式化问题,如日期、数字的格式化,以及货币、时间区域的转换。例如,`<fmt:formatDate>`用于格式化日期。 3. **Function标签库**:提供了一系列函数,可以作为EL表达式的一部分...
2. **Format库**:用于国际化和格式化数据,如日期、货币等。 3. **XML库**:处理XML文档,支持XPath表达式。 4. **JDBC库**:简化数据库操作,提供SQL查询和结果集处理。 5. **Function库**:包含各种辅助函数,如...
2. **国际化标签库**:用于数据的格式化显示,适应不同地区的日期、货币等格式。 3. **数据库标签库**:方便地进行数据库访问操作。 4. **XML标签库**:支持对XML文件的处理,这是JSTL的一个特色功能。 5. **函数...
2. **Format库**:提供了国际化和格式化支持,可以方便地进行日期、数字、货币等的格式化显示。 3. **Function库**:包含了一些常用函数,如字符串处理、数组操作等,这些函数可以在EL表达式中直接调用。 4. **XML...
4. **I18N和Format库**:支持国际化和格式化,包括货币、日期、数字的格式化以及消息资源的处理。 **JSTL与EL的配合使用:** EL通常用作JSTL标签的属性值,比如在`<c:out>`标签中,我们可以使用EL表达式来输出变量...
- 功能:支持JSP页面的国际化,包括日期、时间、货币等格式化。 4. **Database Access (SQL)**(数据库访问标签) - URI前缀:`http://java.sun.com/jstl/sql` - 示例:`<sql:tagname>` - 功能:支持JSP页面对...
- **Format标签库**:用于格式化日期、数字、货币等,支持国际化。 - **Function标签库**:提供一系列函数,可以像EL表达式一样在JSP页面中直接使用。 - **I18N和JSTL国际化的支持**:提供了处理多语言环境的功能。 ...
`<fmt:formatDate>`标签用于格式化日期和时间,可以根据指定的模式输出符合要求的日期格式。`<fmt:formatNumber>`可以对数字进行格式化,比如添加货币符号、保留小数位数等。 **5. XML操作** JSTL的xml库提供了...
3. **I18N capable Formatting** - 支持国际化和格式化,方便进行日期、货币等的本地化展示。 4. **Database access (SQL)** - 提供对数据库的访问,允许执行SQL查询和操作。 **Core标签库**是JSTL的基础,包含一...