Jstl 使用简介

来源:互联网 发布:魔兽2.43数据库 编辑:程序博客网 时间:2024/06/05 18:55

Jstl 使用简介

 

一、           配置说明

1、  在应用中引入两个 jar 包: standard.jar jstl-1.0.2.jar

2、  引入 tld c.tld

3、  web.xml 中配置标签

  <taglib>

      <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>

      <taglib-location>/WEB-INF/c.tld</taglib-location>

  </taglib>

4、  配置完上面三步后,就可以在页面中引入 jstl 标签了,引入方法:

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

 

二、           el( Expression Language ) 表达式计算

1、  数值计算

EL Expression

Result

${1}

1

${1 + 2}

3

${1.2 + 2.3}

3.5

${1.2E4 + 1.4}

12001.4

${-4 - 2}

-6

${21 * 2}

42

${3/4}

0.75

${3 div 4}

0.75

${3/0}

Infinity

${10%4}

2

${10 mod 4}

2

${(1==2) ? 3 : 4}

4

 

2、  bean 属性计算

注:有效范围指的是 application session request page

   ${imb.multiple == '2'}

计算有效范围内 imb 对象的属性 multiple 的值是否等于 2, 如果等于 2 则返回 true, 否则返回 false

       ${users}:

         返回有效范围内名为 ”users” 的值,该值可以是任何对象,如:

request.setAttribute(“users”,new ArrayList()); 这样得到的就是一个集合 .

三、           部分标签使用说明

1 <c:out>

[ 说明 ]

输出值,相当于 struts 中的 <bean:write>

[ 举例 ]

获得 request 中的属性:   <c:out value="${requestScope.test_all}"/>
获得 session 中的属性:   <c:out value="${sessionScope.test_all}"/>
获得 application 中的属性: <c:out value="${applicationScope.test}"/>

 

2 <c:forEach>

[ 说明 ]

循环某个范围内的一个集合(可以是 Collection Set List Array 等)

           items---- 表示要循环的集合

           var--- 表示当前集合中的某条记录,可以对它进行访问

    [ 举例 ] 

                   <%

                       Collection users = new ArrayList();

                      for(int i = 0;i<5;i++){

                         UserInfo user = new UserInfo();

                         user.setUser("user"+i);

                          user.setPwd("pwd"+i);

                          user.setAge(20+i);

                         users.add(user);

                           }

                      session.setAttribuate("users",users);

                     %>

                    <table>

                    <tr>

                      <td>用户名:</td>

                      <td>密码:</td>

                      <td>年龄:</td>

                      </tr>

                    </table>

                  <c:foreach var="user" intm="&{users}">

                       <tr>

                       <td><c:out value="&{user.user}"/></td>

                        <td><c:out value="&{user.pwd}"/></td>

                        <td><c:out value="&{user.age}"/></td>

                       </tr>

                  </c:foreach> 

3 <c:if>

[ 说明 ]

逻辑判断

[ 举例 ]

< c:if test = " ${imb.hmtb.typeid == 4}">

                   < c:if test = " ${imb.multiple == '2'}">(10,270)</c:if>

                   < c:if test = " ${imb.multiple == '1'}">(10,290)</c:if>

    </ c:if >

 

 

4 <c:set>

[ 说明 ]

设置不同的属性,并且指定它们的范围

[ 举例 ]

<c:set value="10000" var="maxUser" scope="application"/>

<c:set value="20" var="maxIdelTime" scope="session"/>

<c:set value="next.jsp" var="nextPage" scope="request"/>

             

              相当于:

                 application.setAttribute(“maxUser”,”10000”);

           session.setAttribute(“maxIdelTime”,”20”);

                 request.setAttribute(“nextPage”,”next.jsp”);

原创粉丝点击