2009-03-04 21:35
JSTL
JSTL JSP , apache jakarta 。JSTL
JSP1.2 Servlet2.3 , tomcat 4.x。 JSP
2.0 。
JSTL 1.02, 1.0。JSTL : EL(Express
ion Language ) 。 :
URI
Core http://java.sun.com/jstl/core c <c:tagname ...> XML processing http://java.
sun.com/jstl/xml x <x:tagname ...> I18N capable formatting http://java.sun.com/j
stl/fmt fmt <fmt:tagname ...> Database access (SQL) http://java.sun.com/jstl/sql
sql <sql:tagname ...>
Core JSP ;
XML processing XML ;
I18N capable formatting JSP ;
Database access (SQL) JSP 。
, Core , ,
。
EL
EL JSTL ( ) JAVA 。
JSTL ,EL 。EL 。
。
1、 value
<some:tag value=""/>
, value 。 :<c:out
value="" /> EL, JSP <%=request.getAttribute(“username”)%
> <% =session.getAttribute(“username”)%>
2、 value ,
<some:tag value="sometext"/>
, , ( )
, value
3、 value
<some:tag value="sometext"/>
, value 。
EL
,EL
1. . 。 user username
2. [] 。
row 。
user , username JavaBean , us
ername getter、setter 。
Empty ( )
empty 、 null。 :
true
request username null, true。 EL
null 。 true。
== eq
!= ne
< lt
> gt
<= le
>= ge
JAVA , 。
Core
1、
<c:out>
<c:out> JSP ,
value , EL
default value
escapeXml true xml true
: : <c:out value=”” default=”guest”/>
, guest
<c:out value=""/>
session username ;
<c:out value="" />
username , request(page) , request username
session , session application(servletContext) ,
。
<c:set>
<c:set> ,
value , EL
target , javabean
property javabean
var
scope page
target , property 。
: <c:set value="" var="test2" scope=”session” />
test.testinfo session test2 , test javabean ,testinf
o test 。
<c:set target="" property="city" value=""/>
cust.address city city
<c:remove>
<c:remove> ,
var
scope , page、request、session、application
: <c:remove var="test2" scope="session"/>
session test2 。
2、
<c:if>
<c:if>
test , if (...){}
var
scope page
<c:choose>
<c:when>
<c:when>
test
<c:otherwise>
: <c:if test="">
user.wealthy is true.
</c:if>
user.wealthy true, user.wealthy is true.
<c:choose>
<c:when test="">
user.generous is true.
</c:when>
<c:when test="">
user.stingy is true.
</c:when>
<c:otherwise>
user.generous and user.stingy are false.
</c:otherwise>
</c:choose>
user.generous true , user.generous is true.
user.stingy true , user.stingy is true.
( user.generous user.stingy true) user.generou
s and user.stingy are false.
JSTL if (){…} else {…} , <c:choose
>、<c:when> <c:otherwise> 。
3、
<c:forEach>
<c:forEach> ,
items
begin 0
end
step 1
var
varStatus
: <c:forEach items="" var="vector">
<c:out value=""/>
</c:forEach>
java for (int i=0;i<vectors.size();i++) {
out.println(vectors.get(i));
}
vectors java.util.Vector , String ,vector
String 。 vectors java.util. Collection
。
<c:forEach begin="0" end="100" var="i" step="1">
count=<c:out value=""/><br>
</c:forEach>
:
count=0
count=100
<c:forTokens>
<c:forTokens>
items
delims
begin 0
end
step 1
var
varStatus
<c:forTokens items="a:b:c:d" delims=":" var="token">
<c:out value=""/>
</c:forTokens>
java.util.StringTokenizer 。 a:b:c:d :
,token 。
4. URL
JSTL <c:import> , <c:url> URL, <c:
redirect> URL。
<c:import>
<c:import> ,
url url
context / web
charEncoding ISO-8859-1
var page
scope 1
varReader java.io.Reader
varStatus
<c:url>
<c:url> url ,
url url
context / web
charEncoding ISO-8859-1
var url , url
scope url page
:
<c:import url="http://www.url.com/edit.js" var="newsfeed"/>
url http://www.url.com/edit.js , url newsfeed
<a href="<c:url url="/index.jsp"/>"/>
<a href="http://www.yourname.com/index.jsp"/>,http://www.
yourname.com 。
<c:redirect>
<c:redirect> ,
url url
context / web
:
<c:redirect url="http://www.yourname.com/login.jsp"/>
http://www.yourname.com/login.jsp , response.setRedirect(
"http://www.yourname.com/login.jsp");
<c:param>
<c:param> ,
name request
value request
:
<c:redirect url="login.jsp">
<c:param name="id" value="888"/>
</c:redirect>
888 id login.jsp , login.jsp?id=888
JSTL
1、 , WEB
。
2、 JSP WEB 。
3、 JSP scriptlet , scriptlet
。 scriptlet JSP 。
4、 JSP WEB 。 JSTL IDE
。
JSTL , JSTL, jstl.jar standard.jar
classpath , XML processing Database access (SQL) ,
JAR classpath , JAR zip 。 zip
http://jakarta.apache.org/builds/jakarta-taglibs/releases/standard/jakar
ta-taglibs-standard-1.0.zip 。
1、 http://java.sun.com/products/jsp/jstl/
sun JSTL
2、 http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html
jakarta JSTL
3、 http://www.manning.com/bayern/appendixA.pdf
JSTL , PDF 。
4、 <<J2EE (1.3 )>>
JSTL ,wrox 。