JSTL【2】


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      。