JAVA開発(3)-EL式(詳細)

38313 ワード

EL   

     1、EL  

1)    

       ${expression}

2)[] .   

     EL   . []          。

                       , . ?           ,       []。



         ${user.My-Name}    ${user["My-Name"] }

             ,    []  , .        。  :

         ${sessionScope.user[data]} data      

3)  

     EL            ,  :${username}。               

username   。

                    username,       Page、Request、Session、

Application    。

           username,     ,       ,               ,

   null。

          EL    

         Page         PageScope

         Request         RequestScope

         Session         SessionScope

         Application     ApplicationScope

4) 1--EL    ${}  ,      HTML JSP        JSP      JAVA  .

2--EL                 .           ${param} ${paramValues}. 

${param}                . ${paramValues}           

 .pageScope         .requestScope         . sessionScope    

      .applicationScope         .

3 --<%@ page isELIgnored="true"%>       EL  ,TRUE    .FALSE    

 .JSP2.0      EL  .

             4-- EL            ${true and false}   false           ${5>6}  

  false            ${5+5}    10

             5--EL         :page request session application       (.) "[ ]"  

        .   [ ]          

2、EL    

1)          

      EL           :pageScope、requestScope、sessionScope  

applicationScope;

       JSP pageContext、request、session application  ;

 EL ,                  , getAttribute(String name),     



  :     session       username  ,        :

     session.getAttribute("username")   username  ,

 EL        

     ${sessionScope.username}

2)          

             :param paramValues,   EL          。

               ,        :

     request.getParameter(String name)

     request.getParameterValues(String name)

 EL      param paramValues       。

     ${param.name}

     ${paramValues.name}

3.      

1)cookie

JSTL       cookie   ,

 :   cookie         userCountry  ,    ${cookie.userCountry}      



2)header headerValues

header                   

 :           ,    ${header["User-Agent"]}。

        ,               ,        headerValues    



3)initParam

initParam    web       (Context)

 :     String userid = (String)application.getInitParameter("userid");

          ${initParam.userid}      userid

4)pageContext

pageContext                  。

     ${pageContext.request.queryString}                   

     ${pageContext.request.requestURL}              URL,            

     ${pageContext.request.contextPath}            web application    

     ${pageContext.request.method}             HTTP    (GET、POST)

     ${pageContext.request.protocol}                (HTTP/1.1、HTTP/1.0)

     ${pageContext.request.remoteUser}               

     ${pageContext.request.remoteAddr }              IP   

     ${pageContext.session.new}               session      

     ${pageContext.session.id}                 session  ID

     ${pageContext.servletContext.serverInfo}             

   4)     >

1.        :+、-、* $、/ div、% mod

2.        :== eq、!= ne、< lt、> gt、<= le、>= ge

3.        :&& and、|| or、! not

4.        :Empty   、     、()   

      :${empty param.name}、${A?B:C}、${A*(B+C)}

5) EL  (functions)

  :ns:function( arg1, arg2, arg3 …. argN)

  ns     (prefix),    taglib          

       6)   :

<%@ taglib prefix="c" http://java.sun.com/jstl/core_rt">
http://java.sun.com/jstl/core_rt 
" %> 

FOREACH:

<c:forEach items="${messages}"

var="item"

begin="0"

end="9"

step="1"

varStatus="var">

……

</c:forEach>

OUT:

<c:out value="/${logininfo.username}"/>

c:out> value            ,      logininfo    

username            。

${……} JSP2.0   Expression Language(EL)   。         ,

             (  ),             ( forEach    

   )。      :

? ${logininfo.username}

     logininfo    username   。      “.”    

      ,    “[]”      , ${logininfo[username]}

 ${logininfo.username}        。

“[]”         ,             , “.”  “-”,

       “[]”              (          

       )。

     JSP Script    :

LoginInfo logininfo =

(LoginInfo)session.getAttribute(“logininfo”);

String username = logininfo.getUsername();

    ,EL        。

             ,EL       logininfo   ,  

${logininfo.username}        ,              

      logininfo,          Request、Session、

Application      ,      。               

  ,   null.

               ,   EL          :

${pageScope.logininfo.username}

${requestScope.logininfo.username}

${sessionScope.logininfo.username}

${applicationScope.logininfo.username}

 Spring  ,               ,    Attribute   

  HttpServletRequest      (       Spring    

org.springframework.web.servlet.view.InternalResourceView.

exposeModelAsRequestAttributes       ),    Spring

MVC  ,          requestScope。  , Spring MVC  ,



${sessionScope.logininfo.username}

${applicationScope.logininfo.username}

? ${1+2}

          ,    3。

? ${i>1}

     i>1  ,   bool  true。     ,    EL  



       java               。

IF / CHOOSE:

<c:if test="${var.index % 2 == 0}">

*

</c:if>

         EL   。

<c:if>     else  ,           ,        <c:choose>

tag        :

<c:choose>

<c:when test="${var.index % 2 == 0}">

*

</c:when>

<c:otherwise>

!

</c:otherwise>

</c:choose>

  Java   switch   ,<c:choose>                 。 

 <c:when>    case  ,      。     ,       “*” ,

       “!”。

  :1、  EL       :– <%@ page isELIgnored="false" %>

 、           JSTL

1、EL   >;

       2)var    ,  EL            true/false;

       3)scope:   var     ;

6、    

  :<c:forEach items=“collection” var=“name” varStatus=“status” begin=“int“ 

end=”int” step=“int” >

           //   

           </c:forEach>

       :1)items:   , EL   ;

       2)var:   ,  items

       3)varStatus:          

①index: 0  ;

                     ②count:    , 1  ;

                     ③first:           true;

                     ④last:            true;

       4)begin:      (  );

       5)end:      ;

       6)step:  ,       ;

7、<c:otherwise>  

      :

  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.generous and 

user.stingy are false.

  JSTL    if (){…} else {…}     ,            <c:choose>、

<c:when> <c:otherwise>        。

8、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             。

9、<c:redirect>  

       :                ,                      

url url      

context /    web                



<c:redirect /'>
http://www.yourname.com/login.jsp"/ 
> 

         

http://www.yourname.com/login.jsp
 ,   response.setRedirect 

(" 

http://www.yourname.com/login.jsp
"); 

10、<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

11、<fmt:>     

       :       <%@ taglib prefix="fmt" http://java.sun.com/jsp/jstl/fmt">
http://java.sun.com/jsp/jstl/fmt 
" %> 

     1)     <fmt:formatDate value=“” pattern=“yyyy-MM-dd HH:mm:ss”/>

               Value:  EL    <%new Date() %>      ;

               Pattern:       ;                      


 
    2)      <fmt:formatNumber 

value="${n}" pattern="###,###.##" />