jstlラベル

3226 ワード

Part 1なぜjstlがあるのか:
(1)アプリケーションサーバ間で統一的なインタフェースを提供し,異なるサーバでのwebアプリケーションの移植を提供する(2)jspのwebアプリケーション開発を簡素化する(3)jspコードを低減し,より簡潔にする(4)jsp開発速度を向上させる
myeclipseでwebエンジニアリングを作成するときにjstlにチェックマークを付けるとjstlが使用できます
Part 2 jstlの使用
2.1一般用途
1、c:out
<c:out value="${abc}"/>
//   request.getAttribute("abc").toString
//            ,     pagecontext>request>session>application       
<%
User u=new User();
u.setName("  ");
u.setAge(30);
request.setAttribute("user1",u);
%>
<c:out value="${user1.name}"/>

2、c:set
<c:set var="abc" value="    “ scope="request"/>
//   request.setAttribute("abc","    ");

3、c:remove
<c:remove var="a" scope="rquest"/>

4、c:catch
<c:catch var="myexception">
<% int i=8/0; %>
</c:catch>
<c:out value="${myexception.message}"/> 

2.2条件ラベル
1、c:if
<c:if test="${a=="hello"}">
ok!
</c:if>
<c:if test="${rat1.age>3}">
         3
</c:if>

2、c:choose
<c:choose>
<c:when test="${rat1.age<2}">         2</c:when>
<c:otherwise>           2</c:otherwise>

2.3反復ラベル
1、c:forEach
<c:forEach items="${allrats}" var="rat">
<c:out value="${rat.name}"/>
<c:out value="${rat.age1}"/>
</c:forEach>
<c:forEach var="i" begin="1" end="10" step="3">
<c:out value="${i}"/>
</c:forEach>

2、forTokens
<c:forTokens items="12;56;  ;ddd" delims=";" var="temp">
${temp}
</c:forTokens>
<c:forTokens items="${temp}" delims=";" var="temp">
</c:forTokens>

Part 3 jstl補強
3.1 mapとsetの反復map:
<c:forEach items="${persons}" var="per">
key=${key.key}  =${per.value}
</c:forEach>

set:
<c:forEach items="${myrats}" var="myrat">
value=${myrat.name} || age=${myrat.age}
</c:forEach>

3.2 jstl ifを使用して、集合が空であるかどうかを判断する方法
<c:if test="${empty myrats}">
    
</c:if>

3.3 url関連ラベル
c:import、c:param、c:redirect
<c:direct url="http://www.sohu.com">
</c:direct>
<c:import url="a.jsp">
<c:param name="name" value="shunping"/>
</c:import>

3.4 jstl ifでも関数を書くことができます
<c:if test="${2>1?true:false}">
ok!!!
</c:if>