vjame

          優(yōu)化代碼是無止境的
          隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
          數(shù)據(jù)加載中……

          jstl標(biāo)簽庫(1)


          jstl標(biāo)簽庫的配置
           * 將jstl.jar和standard.jar拷貝到WEB-INF/lib下(如果使用el表達(dá)式,不用拷貝這兩個jar)
           
           注意:jstl必須在能夠支持j2ee1.4/servlet2.4/jsp2.0版本上的容器才能運(yùn)行,這個環(huán)境
                是目前較為常用的環(huán)境

               
          標(biāo)簽庫的使用
           * 采用taglib指令引入
           <%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%> 
           <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>


          jstl核心庫(core)


          Action
          package com.lanjh.struts.action;

          import java.util.ArrayList;
          import java.util.HashMap;
          import java.util.List;
          import java.util.Map;

          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          import org.apache.struts.action.Action;
          import org.apache.struts.action.ActionForm;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.ActionMapping;

          import com.lanjh.struts.po.Group;
          import com.lanjh.struts.po.User;

          public class JstlCoreAction extends Action {

              @Override
              
          public ActionForward execute(ActionMapping mapping, ActionForm form,
                      HttpServletRequest request, HttpServletResponse response)
                      
          throws Exception {
                  request.setAttribute(
          "hello""hello world");
                  
                  
          //html文本
                  request.setAttribute("bj""<font color='red'>北京歡迎您</font>");
                  
                  
          //測試條件控制標(biāo)簽
                  request.setAttribute("v1"1);
                  request.setAttribute(
          "v2"2);
                  request.setAttribute(
          "v3"new ArrayList());
                  request.setAttribute(
          "v4""test");
                  
                  
                  
          //測試c:forEach
                  Group group = new Group();
                  group.setName(
          "尚學(xué)堂");
                  
                  List userList 
          = new ArrayList();
                  
          for (int i=0; i<10; i++) {
                      User user 
          = new User();
                      user.setUsername(
          "user_" + i);
                      user.setAge(
          18+i);
                      user.setGroup(group);
                      userList.add(user);
                  }
                  
                  request.setAttribute(
          "userlist", userList);
                  
                  
          //測試循環(huán)輸出map
                  Map<String, String> map = new HashMap<String, String>();
                  map.put(
          "k1""lanjh");
                  map.put(
          "k2""chenj");
                  request.setAttribute(
          "mapvalue", map);
                  
                  
          //測試c:forTokens
                  request.setAttribute("strTokens""1,2,3,4,5,6");
                  
                  
                  
          return mapping.findForward("success");
              }
              
          }

          struts配置
          <action path="/jstlcore"
                      type
          ="com.lanjh.struts.action.JstlCoreAction">
                      
          <forward name="success" path="/jstl_core.jsp"></forward>
                  
          </action>

          JSP頁面
          <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
          <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
              
          <head>
                  
          <title>測試jstl核心庫</title>
              
          </head>
              
          <body>
                  
          <h1>
                      測試EL表達(dá)式
                  
          </h1>
                  
          <br>
                  
          <hr>
                  
          <li>
                      測試c:out
                  
          </li>
                  
          <br>
                  hello(default):
                  
          <c:out value="${hello}"></c:out>
                  
          <br>
                  hello(default=123):
                  
          <c:out value="${hello}" default="123"></c:out>
                  
          <br>
                  
          <!-- value值為空或者null時,取default的默認(rèn)值 -->
                  hello(default=123):
                  
          <c:out value="${hello1}">123</c:out>
                  
          <br>

                  bj(default):
                  
          <c:out value="${bj}"></c:out>
                  
          <br>
                  bj(escapeXml="true"):
                  
          <c:out value="${bj}" escapeXml="true"></c:out>
                  
          <br>
                  
          <!-- 解析xml格式的數(shù)據(jù) -->
                  bj(escapeXml="false"):
                  
          <c:out value="${bj}" escapeXml="false"></c:out>
                  
          <br>
                  
          <p>
                  
          <li>
                      測試c:set和c:remove
                  
          </li>
                  
          <br>
                  
          <c:set value="123" var="temp"></c:set>
                  temp:${temp }
                  
          <br>
                  
          <c:remove var="temp" />
                  temp:${temp }
                  
          <br>

                  
          <p>
                  
          <li>
                      測試條件控制標(biāo)簽c:if
                  
          </li>
                  
          <br>
                  
          <c:if test="${v1 lt v2}" var="v">
                  v1小于v2
          <br>
                  v=${v }
              
          </c:if>
                  
          <c:if test="${empty v3}">
                  v3為空
          <br>
                  
          </c:if>
                  
          <c:if test="${!empty v4}">
                  v4不為空
          <br>
                  
          </c:if>

                  
          <p>
                  
          <li>
                      測試條件控制標(biāo)簽c:choose,c:when,c:otherwise
                  
          </li>
                  
          <br>

                  
          <c:choose>
                      
          <c:when test="${v1 lt v2}">
                      v1小于v2
          <br>
                      
          </c:when>
                      
          <c:otherwise>
                      v1大于v2
          <br>
                      
          </c:otherwise>
                  
          </c:choose>


                  
          <c:choose>
                      
          <c:when test="${empty v4}">
                      v4為空
          <br>
                      
          </c:when>
                      
          <c:otherwise>
                      v4不為空
          <br>
                      
          </c:otherwise>
                  
          </c:choose>

                  
          <p>
                  
          <li>
                      測試循環(huán)控制標(biāo)簽c:forEach
                  
          </li>
                  
          <br>
                  
          <table border="1">
                      
          <tr>
                          
          <td>
                              姓名
                          
          </td>
                          
          <td>
                              年齡
                          
          </td>
                          
          <td>
                              所屬組
                          
          </td>
                      
          </tr>
                      
          <c:choose>
                          
          <c:when test="${empty userlist}">
                              
          <tr>
                                  
          <td colspan="3">
                                      沒有符合條件的數(shù)據(jù)!
                                  
          </td>
                              
          </tr>
                          
          </c:when>
                          
          <c:otherwise>
                              
          <c:forEach items="${userlist}" var="u">
                                  
          <tr>
                                      
          <td>
                                          ${u.username }
                                      
          </td>
                                      
          <td>
                                          ${u.age }
                                      
          </td>
                                      
          <td>
                                          ${u.group.name }
                                      
          </td>
                                  
          </tr>
                              
          </c:forEach>
                          
          </c:otherwise>

                      
          </c:choose>
                  
          </table>

                  
          <p>
                  
          <li>
                      測試循環(huán)控制標(biāo)簽c:forEach,varstatus
                  
          </li>
                  
          <br>
                  
          <table border="1">
                      
          <tr>
                          
          <td>
                              姓名
                          
          </td>
                          
          <td>
                              年齡
                          
          </td>
                          
          <td>
                              所屬組
                          
          </td>
                      
          </tr>
                      
          <c:choose>
                          
          <c:when test="${empty userlist}">
                              
          <tr>
                                  
          <td colspan="3">
                                      沒有符合條件的數(shù)據(jù)!
                                  
          </td>
                              
          </tr>
                          
          </c:when>
                          
          <c:otherwise>
                              
          <c:forEach items="${userlist}" var="user" varStatus="vs">
                                  
          <c:choose>
                                      
          <c:when test="${vs.count % 2 == 0}">
                                          
          <tr bgcolor="red">
                                      
          </c:when>
                                      
          <c:otherwise>
                                          
          <tr>
                                      
          </c:otherwise>
                                  
          </c:choose>
                                  
          <td>
                                      
          <c:out value="${user.username}" />
                                  
          </td>
                                  
          <td>
                                      
          <c:out value="${user.age}" />
                                  
          </td>
                                  
          <td>
                                      
          <c:out value="${user.group.name}" />
                                  
          </td>
                                  
          </tr>
                              
          </c:forEach>
                          
          </c:otherwise>
                      
          </c:choose>
                  
          </table>
                  
                  
          <p>
              
          <li>測試循環(huán)控制標(biāo)簽c:forEach,普通循環(huán)</li><br>
              
          <c:forEach begin="1" end="10">
                  a
          <br>
              
          </c:forEach>
              
              
          <p>
              
          <li>測試循環(huán)控制標(biāo)簽c:forEach,輸出map</li><br>
              
          <c:forEach  items="${mapvalue}" var="v">
                  ${v.key }=${v.value }
          <br>
              
          </c:forEach>
              
              
              
          <p>
              
          <li>測試循環(huán)控制標(biāo)簽c:forTokens</li><br>
              
          <c:forTokens items="${strTokens}" delims="," var="v">
                  ${v }
          <br>
              
          </c:forTokens>
              
              
              
          <p>
              
          <li>測試c:catch</li><br>
              
          <%
                  try {
                      
          Integer.parseInt("asdfsdf");
                  }catch(Exception e) {
                      out.println(e.getMessage());
                  }    
              
          %>
              
          <p>
              
          <c:catch var="exinfo">
                  
          <%
                      
          Integer.parseInt("asdfsdf");
                  
          %>
              
          </c:catch>
              ${exinfo }
          <br>
              
              
          <p>
              
          <li>測試c:import</li><br>
              
          <!-- 引入外部url地址 -->
              
          <c:import url="http://localhost:8080/struts_login"/>
              
          <p>
              
          <li>測試c:url和c:param</li><br>
              
          <!-- 給url后面加參數(shù) -->
              
          <c:url value="http://localhost:8080/drp/sysmgr/user_add.jsp" var="v">
                  
          <c:param name="username" value="Jack"/>
                  
          <c:param name="age" value="20"/>
              
          </c:url>
              ${v }
          <br>


              
                  
              
          </body>
          </html>

          posted on 2009-07-27 10:39 lanjh 閱讀(467) 評論(0)  編輯  收藏 所屬分類: Java Web

          主站蜘蛛池模板: 望谟县| 沛县| 鄱阳县| 河源市| 浠水县| 彰化县| 志丹县| 大港区| 饶河县| 龙口市| 湖北省| 南宁市| 余江县| 双柏县| 大竹县| 百色市| 湖北省| 溧阳市| 都安| 马尔康县| 涪陵区| 濮阳县| 卢湾区| 屏东县| 巴东县| 哈尔滨市| 收藏| 汉寿县| 葵青区| 绥宁县| 莎车县| 枝江市| 视频| 吉安县| 天柱县| 肃北| 平乡县| 东光县| 舒兰市| 浑源县| 玉田县|