fn标签的使用:
长度函数 fn:length
的出现有重要的意义。在 JSTL1.0 中,有一个功能被忽略了,那就是对集合的长度取值。虽然 java.util.Collection
接口定义了 size 方法,但是该方法不是一个标准的 JavaBean 属性方法(没有 get,set 方法),因此,无法通过 EL
表达式“ ${collection.size} ”来轻松取得。
fn:length 函数正是为了解决这个问题而被设计出来的。它的参数为 input
,将计算通过该属性传入的对象长度。该对象应该为集合类型或 String 类型。其返回结果是一个 int
类型的值。下面看一个示例。
<%ArrayList arrayList1 = new ArrayList();
arrayList1.add("aa");
arrayList1.add("bb");
arrayList1.add("cc");
%>
<%request.getSession().setAttribute("arrayList1",
arrayList1);%>
${fn:length(sessionScope.arrayList1)}
假设一个 ArrayList 类型的实例“ arrayList1 ”,并为其添加三个字符串对象,使用 fn:length
函数后就可以取得返回结果为“ 3 ”。
判断函数 fn:contains 函数
fn:contains
函数用来判断源字符串是否包含子字符串。它包括 string 和 substring 两个参数,它们都是 String
类型,分布表示源字符串和子字符串。其返回结果为一个 boolean 类型的值。下面看一个示例。
${fn:contains("ABC", "a")}<br>
${fn:contains("ABC", "A")}<br>
前者返回“ false ”,后者返回“ true ”。
fn:containsIgnoreCase 函数
fn:containsIgnoreCase 函数与 fn:contains 函数的功能差不多,唯一的区别是
fn:containsIgnoreCase 函数对于子字符串的包含比较将忽略大小写。它与 fn:contains 函数相同,包括
string 和 substring 两个参数,并返回一个 boolean 类型的值。下面看一个示例。
${fn:containsIgnoreCase("ABC",
"a")}<br>
${fn:containsIgnoreCase("ABC",
"A")}<br>
前者和后者都会返回“ true ”。
词头判断函数 fn:startsWith 函数
fn:startsWith 函数用来判断源字符串是否符合一连串的特定词头。它除了包含一个 string 参数外,还包含一个
subffx 参数,表示词头字符串,同样是 String 类型。该函数返回一个 boolean 类型的值。下面看一个示例。
${fn:startsWith ("ABC",
"ab")}<br>
${fn:startsWith ("ABC",
"AB")}<br>
前者返回“ false ”,后者返回“ true ”。
词尾判断函数 fn:endsWith 函数
fn:endsWith 函数用来判断源字符串是否符合一连串的特定词尾。它与 fn:startsWith 函数相同,包括 string
和 subffx 两个参数,并返回一个 boolean 类型的值。下面看一个示例。
${fn:endsWith("ABC", "bc")}<br>
${fn:endsWith("ABC", "BC")}<br>
前者返回“ false ”,后者返回“ true ”。
字符实体转换函数 fn:escapeXml 函数
fn:escapeXml 函数用于将所有特殊字符转化为字符实体码。它只包含一个 string 参数,返回一个 String
类型的值。
字符匹配函数 fn:indexOf 函数
fn:indexOf 函数用于取得子字符串与源字符串匹配的开始位置,若子字符串与源字符串中的内容没有匹配成功将返回“ -1 ”。它包括
string 和 substring 两个参数,返回结果为 int 类型。下面看一个示例。
${fn:indexOf("ABCD","aBC")}<br>
${fn:indexOf("ABCD","BC")}<br>
前者由于没有匹配成功,所以返回 -1 ,后者匹配成功将返回位置的下标,为 1
__________________________________________________________________________________________________
fmt函数的使用
1.数字转换
<fmt:formatNumber value="12" type="currency" pattern="$.00"/> -- $12.00
<fmt:formatNumber value="12" type="currency" pattern="$.0#"/> -- $12.0
<fmt:formatNumber value="1234567890" type="currency"/>
-- $1,234,567,890.00(那个货币的符号和当前web服务器的 local 设定有关)
<fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/> -- 123,456.79
<fmt:formatNumber value="123456.7" pattern="#,#00.0#"/> -- 123,456.7
<fmt:formatNumber value="123456.7" pattern="#,#00.00#"/> -- 123,456.70
<fmt:formatNumber value="12" type="percent" /> -- 1,200% (type 可以是currency、 number、 和percent)。
___________________________________________________________________
java格式化输出:
DecimalFormat df = new DecimalFormat("格式");
String fmt =df.format(double);
符号 意义
0 一个数位
# 一个数位,前导零和追尾零不显示
. 小数点分割位置
, 组分隔符的位置
- 负数前缀
% 用100乘,并显示百分号
其他任何符号 在输出字符串中包括指定符号
数字用例:<fmt:formatNumber value="${order.orderAmount}" minFractionDigits="2"/>元
--------------------------------------时间格式----------------------------------------------------
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
fmt:formatDate 的输出格式
<fmt:formatDate value="${isoDate}" type="both"/>
2004-5-31 23:59:59
<fmt:formatDate value="${date}" type="date"/>
2004-4-1
<fmt:formatDate value="${isoDate}" type="time"/>
23:59:59
<fmt:formatDate value="${isoDate}" type="date" dateStyle="default"/>
2004-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="short"/>
04-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="medium"/>
2004-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="long"/>
2004年5月31日
<fmt:formatDate value="${isoDate}" type="date" dateStyle="full"/>
2004年5月31日 星期一
<fmt:formatDate value="${isoDate}" type="time" timeStyle="default"/>
23:59:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="short"/>
下午11:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="medium"/>
23:59:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="long"/>
下午11时59分59秒
<fmt:formatDate value="${isoDate}" type="time" timeStyle="full"/>
下午11时59分59秒 CDT
<fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/>
星期四, 四月 1, 2004 13:30:00 -0600
<fmt:formatDate value="${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz/>
31 五月 04, 11:59:59 下午 中央夏令时
<fmt:formatDate value="${question.questiondate}" type="time" timeStyle="full" pattern="yyyy-MM-dd HH:mm"/>
---------------------------------------------------
格式模式
d 月中的某一天。一位数的日期没有前导零。
dd 月中的某一天。一位数的日期有一个前导零。
ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。
dddd 周中某天的完整名称,在 DayNames 中定义。
M 月份数字。一位数的月份没有前导零。
MM 月份数字。一位数的月份有一个前导零。
MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。
MMMM 月份的完整名称,在 MonthNames 中定义。
y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。
yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。
yyyy 包括纪元的四位数的年份。
gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。
h 12 小时制的小时。一位数的小时数没有前导零。
hh 12 小时制的小时。一位数的小时数有前导零。
H 24 小时制的小时。一位数的小时数没有前导零。
HH 24 小时制的小时。一位数的小时数有前导零。
m 分钟。一位数的分钟数没有前导零。
mm 分钟。一位数的分钟数有一个前导零。
s 秒。一位数的秒数没有前导零。
ss 秒。一位数的秒数有一个前导零。
时间用例:
<fmt:formatDate value="${ctocOrder.buyerReleaseTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
分享到:
相关推荐
**JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面标准标签库,它提供了一系列预定义的标签,用于简化JSP开发。本范例主要关注JSTL的核心标签库,该库包含了处理常见任务的标签,如流程控制、迭代、...
**JSTL(JavaServer Pages Standard Tag Library)**是Java EE平台中用于增强JSP页面功能的一组标准标签库,它的出现是为了简化JSP页面的编程,提高代码的可读性和可维护性。JSTL主要由四个核心部分组成:Core、...
- 使用EL表达式与JSTL标签配合,减少不必要的服务器端计算。 - 对于复杂的逻辑,考虑使用自定义标签库或转向服务器端组件(如Struts、Spring MVC)。 综上所述,JSTL标签库是Java Web开发中不可或缺的一部分,它...
JSTL(JavaServer Pages Standard Tag Library)是Java服务器端的一种标准标签库,它为JSP页面提供了一套强大的、可扩展的标签,用于处理常见的编程任务,如迭代、条件判断、XML处理等。这篇参考手册将深入探讨JSTL...
JSTL(JavaServer Pages Standard Tag Library)是JavaServer Pages技术的一个重要组成部分,它提供了一系列标准的标签库,用于简化JSP开发,提高代码的可读性和可维护性。JSTL标签库包括核心标签、XML处理标签、SQL...
JSTL(JavaServer Pages Standard Tag Library)是一个用于JSP的标准标签库,它提供了一系列预定义的标签,简化了常见的编程任务,如控制流程、输出处理、URL管理和数据操作等。JSTL的核心标签库(Core Library)是...
**JSTL(JavaServer Pages Standard Tag Library)**是Java服务器页面的一个标准标签库,它提供了丰富的功能,使得在JSP中处理数据、控制流程变得更加简洁和高效。JSTL主要由几个不同的标签库组成,包括核心标签库、...
在Struts框架中,JSTL常用于视图层的呈现,通过ActionForm返回的数据与JSP页面上的JSTL标签配合,实现动态内容的渲染。例如,使用`<c:forEach>`遍历ActionForm中的List属性,显示列表数据。同时,`<c:choose>`、`...
这些标签用于处理基本的逻辑和数据操作,如输出、设置变量、异常捕获、条件判断和循环。 - `<c:out>`:用于输出值,与`<%= ... %>`类似,但更安全。它可以通过`value`属性指定一个对象或EL表达式,可选地使用`...
- JSTL 和 EL 可以协同工作,EL 用于表达式求值,JSTL 标签用于控制流程和数据处理。 - EL 可以直接在 JSTL 标签中使用,例如 `${}` 语法。 7. **优点** - 提高代码可读性:JSTL 标签比 JSP 脚本更直观,便于...
标签用于实现多分支选择逻辑,它配合和使用。 ```jsp ${condition1}"> <!-- 分支1 --> ${condition2}"> <!-- 分支2 --> <!-- 默认分支 --> ``` #### 3. 标签用于遍历集合或数组。 ```jsp ${list}...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一个工具,它提供了一系列标准的标签,用于简化JSP页面的编写,使得代码更加简洁、易于维护。JSTL的主要目标是减少在JSP页面中使用...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是一种强大的工具,它为JavaServer Pages(JSP)开发人员提供了标准的标签库,用于处理常见的任务,如迭代、条件语句、XML处理等,从而简化了代码并提高了...
在JSTL 1.0中,EL主要用于配合JSTL标签使用;而在JSTL 1.1中,EL已经成为JSP容器的一部分,可以直接在JSP页面中使用。 ##### 4.2 EL表达式语法 EL表达式的基本语法为`${expression}`,其中`expression`可以是一个...
- **oracle常用SQL语句.txt**:JSTL的sql库可以帮助开发者在JSP页面上执行Oracle数据库的SQL语句。 - **ext之树事件.txt**:ExtJS库中的树形控件事件处理,JSTL通常不涉及前端交互,但可以配合后台逻辑。 - **jstl的...
**JSTL与EL的配合使用** JSTL通常与EL(Expression Language)结合使用,EL是一种轻量级的脚本语言,用于在JSP中获取和设置JavaBean的属性。EL表达式简洁且易于阅读,可以减少Java脚本的使用。 **JSTL的优缺点** ...
需要注意的是,JSTL与JSP EL(Expression Language)配合使用,EL用于在页面中表达和计算值,而JSTL标签则用于控制流程和呈现数据。例如,可以用`${someVariable}">`来输出EL表达式中的变量。 总的来说,`jstl标准...
**JSTL(JSP Standard Tag Library)**是Java服务器页面(JSP)技术的一个重要扩展,它提供了一组预定义的标签,用于简化JSP页面的开发,使其更加结构化、可读性和可维护性更强。JSTL的主要目标是减少在JSP页面中...
在实际应用中,JSTL和DOM4J的结合使用,可以让开发者更加便捷地处理XML数据,尤其是在JSP页面上进行动态XML操作时,JSTL的标签可以很好地封装DOM4J的功能,使得代码更加简洁和清晰。 总结来说,JSTL是Java Web开发...