JSTL标签库

建议使用JSTL标签库,是J2EE标准。可以取代Struts的Bean、Logic,但无Struts的HTML标签功能。

1,打印输出 ${} 与 <c:out> :
${}

${userInfo.userSys.userID}

输出request.getAttribute(“userInfo”).getUserSys().getUserID();


如何取值:
默认是从request(page)中取,如果request中没有名为userInfo的对象则从session中取,session中没有则从application(servletContext)中取。


未经转义直接输出的:
如userName=” <br/> “,则 ${userName}直接输出 <br/>

判断输出:
${ (userInfo.name=="张海") ? "Right的" : "Wrong" }

访问参数:
   ${param.id }

访问cookie:
   ${cookie.JSESSIONID.value }

相应的还有下面的隐含对象

pageContext:当前JSP页面上下文,相当于pageContext.getAttribute()
initParam:上下文初始参数
param:请求的参数,相当于request.getParameter()
header:请求的首部内容
cookie:请求发过来的cookie内容
applicationScope:application域,相当于application.getAttribute()
sessionScope:session域
requestScope:request域
pageScope:page域

 

<c:out>

<c:out value="${userName}" default="guest"/>

本语句的作用是转义。

即对value内容进行转义,如userName=” <br/> “
    则 ${userName}输出 <br/>
     <c:out value="${userName}"/> 输出 &lt;br/&gt;

也可直接输出字符串
   <c:out value="a < b >"/> 输出 a &lt; b &gt;

default是指找不到userName对象时的显示。

2,判断 与 选择
<c:if test="${count > 78}">
tt
</c:if>


<c:if test="${success && right}">
tt
</c:if>


关系操作符:
== , != , < , > , <= , >=
逻辑操作符:
&& , || , !


if标签无else标签,所以用下面的choose代替

<c:choose>
    <c:when test="${userInfo.userSys.status==111}">
      tt
    </c:when>
    <c:otherwise>
      ff
    </c:otherwise>   
</c:choose>

选择:
<c:choose>
    <c:when test="${userInfo.userSys.status==111}">
      tt
    </c:when>
    <c:when test="${userInfo.userSys.status==222}">
      ff
    </c:when>
    <c:otherwise>
      ff
    </c:otherwise>   
</c:choose>


3,循环

forEach标签

// resultList为request中的List对象、Set对象或Set对象
<c:forEach items="${resultList}" var="user">

<c:out value=”${user.name}”/>

</c:forEach>

 

// 遍历
// 以下将依次输出 1,2,3,4,5
<c:forEach var=”x” begin=”1” end=”5”>
   <c:out value=”${x}”/>,
</c:forEach>

 

// 以下依次输出: a token b token c token d token
<c:forTokens items="a:b:c:d" delims=":" var="token">
<c:out value="${token}"/> <c:out value="token"/>
</c:forTokens>



4,格式化
format可以格式化数字和日期对象

JSP前面要引用 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

数字:
<fmt:formatNumber value="12" type="currency" pattern="0.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服务器的 locate 设定有关)

<fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/>
将显示 123,456.79

<fmt:formatNumber value="12" type="percent" />
将显示 1,200%

type 可以是currency、 number、 和percent。

日期

JSP前面要引用 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

 

userInfo.birthday为request中一Date对象


<fmt:formatDate value="${userInfo.birthday}" pattern="yyyy-MM-dd HH:mm:ss"/>
1996-09-29 19:09:44

 

<fmt:formatDate value="${userInfo.birthday}" pattern="G yyyy年MM月dd日 E"/>
公元 1996年09月29日 星期日

 

<fmt:formatDate value="${userInfo.birthday}" pattern="a HH:mm:ss.S z"/>
下午 19:09:44.0 CST

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值