首先,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" /> 分析出时间
分享到:
相关推荐
### JSTL `fmt` 标签库详解 #### 一、引言 在Web开发过程中,为了满足不同地区用户的语言需求,实现网站或应用的国际化(I18N)至关重要。JavaServer Pages Standard Tag Library (JSTL) 提供了一系列便捷的方法来...
总结来说,使用JSTL fmt标签库实现国际化涉及创建和管理Resource Bundle,设置locale,注册资源包,以及在JSP页面中使用`fmt:message`、`fmt:formatDate`和`fmt:formatNumber`标签。这个过程可以帮助开发者构建出...
### JSTL `fmt:formatNumber` 数字与货币格式化 #### 一、概述 在Java Server Pages (JSP) 开发过程中,对数字进行格式化是非常常见的需求之一。例如,将数值按照特定的货币格式展示,或者将数字转换为百分比形式...
fmt标签库是JSTL中用于国际化的标签库,它支持i18n(国际化)格式标准,为Web应用提供了数字、日期和消息等的格式化和解析功能。 fmt标签库包含以下三类标签: 1. 数字日期格式化标签 - <fmt:formatNumber>标签:...
JSTL包括几个核心标签库,如c(条件语句)、fmt(格式化)、x(XML处理)等,这些库极大地提高了JSP代码的可读性和可维护性。 标题提到的"用于dreamweaver的标签提示和格式化.JSTL的c,fmt,x和struts2",意味着这个...
JSTL主要由四个核心部分组成:Core、 fmt、sql 和 xml。 **2. JSTL Core标签库** Core库是JSTL中最基础的部分,包含了很多用于控制流程、处理URL、输出内容等的标签。例如: - `<c:if>`:条件判断 - `<c:choose>`、...
JSTL标签所需要的tld文件,包括 c.tld、fmt.tld、fn.tld 三个 几乎所有的JSTL标签下载的zip中都只有一个c.tld,然后只讲解<C:>标签怎么用,其实<fmt:> <fn:>标签也非常好用和实用,找了好久才找到...
特别地,`standard.jar`包含了`javax.servlet.jsp.jstl.core`和`javax.servlet.jsp.jstl.fmt`等包,这些都是JSTL运行所必需的。 在使用JSTL时,我们需要将这两个jar包添加到项目的类路径(classpath)中,以便...
**JSTL的XML库(fmt、func、tagext)**: - `<fmt:formatDate>` 和 `<fmt:formatNumber>`:格式化日期和数字。 - `<fmt:message>` 和 `<fmt:bundle>`:国际化支持。 - `<fn:length>` 和 `<fn:substring>`:函数标签...
`<fmt:formatDate>`用于格式化日期和时间,`<fmt:formatNumber>`用于格式化数字,`<fmt:message>`则用于国际化和本地化消息。这些标签对于创建用户友好的、符合各地习惯的界面非常有帮助。 通过“JSTLdemo”这个...
这个压缩包文件可能包含了关于JSTL的详细帮助、手册和文档,帮助开发者理解和使用JSTL进行高效开发。 JSTL主要由以下几个核心部分组成: 1. **Core标签库**:这是JSTL最基础的部分,包含了一系列处理页面流程控制...
**jstl-api-1.2.jar** 包含了JSTL的接口定义,定义了各种标签的API,比如`<c:forEach>`、`<fmt:formatDate>`等。这个jar文件通常被添加到项目的编译类路径(classpath)中,这样编译器就可以识别JSTL相关的代码,并...
3. 使用JSTL标签:现在可以在JSP页面中使用JSTL标签,如`<c:forEach>`进行迭代,`<c:if>`进行条件判断,`<fmt:formatDate>`格式化日期等。 总之,JSTL是提升JSP页面编写效率的重要工具,而依赖注入则是现代Java应用...
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> ``` 3. 开始使用JSTL标签,例如: ```jsp ${list}" var="item"> ${item.name} ``` 总之,JSTL是Java Web开发中一个强大的工具,它通过...
这样,就可以在页面中使用`c:`和`fmt:`前缀的JSTL标签了。 **JSTL与EL的协同工作**:虽然EL可以独立于JSTL使用,但两者结合使用能发挥更大的效能。JSTL的标签可以接收EL表达式作为参数,使得页面逻辑更加简洁。...
JSTL主要包含五个核心标签库:Core、 fmt、sql、xml和function。在这篇文章中,我们将深入探讨JSTL的使用方法和相关示例。 1. **Core库**:这是JSTL最基础的部分,包含处理流程控制、输出、URL重写等功能的标签。...