vjame

          優化代碼是無止境的
          隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0

          導航

          <2009年7月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          公告

          子曰:“學而時習之,不亦說乎?有朋自遠方來,不亦樂乎?人不知,而不慍,不亦君子乎?”

          常用鏈接

          留言簿(5)

          我參與的團隊

          隨筆分類

          隨筆檔案

          文章檔案

          積分與排名

          • 積分 - 73765
          • 排名 - 754

          最新評論

          閱讀排行榜

          jstl標簽庫(1)


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

               
          標簽庫的使用
           * 采用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>");
                  
                  
          //測試條件控制標簽
                  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(
          "尚學堂");
                  
                  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);
                  
                  
          //測試循環輸出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表達式
                  
          </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的默認值 -->
                  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格式的數據 -->
                  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>
                      測試條件控制標簽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>
                      測試條件控制標簽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>
                      測試循環控制標簽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">
                                      沒有符合條件的數據!
                                  
          </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>
                      測試循環控制標簽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">
                                      沒有符合條件的數據!
                                  
          </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>測試循環控制標簽c:forEach,普通循環</li><br>
              
          <c:forEach begin="1" end="10">
                  a
          <br>
              
          </c:forEach>
              
              
          <p>
              
          <li>測試循環控制標簽c:forEach,輸出map</li><br>
              
          <c:forEach  items="${mapvalue}" var="v">
                  ${v.key }=${v.value }
          <br>
              
          </c:forEach>
              
              
              
          <p>
              
          <li>測試循環控制標簽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后面加參數 -->
              
          <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

          主站蜘蛛池模板: 新兴县| 杭州市| 金乡县| 芒康县| 盐池县| 武冈市| 米脂县| 来安县| 越西县| 南宫市| 桓仁| 清苑县| 乌兰察布市| 盐源县| 贺州市| 上高县| 房山区| 福海县| 荔波县| 新余市| 汽车| 江口县| 丹东市| 犍为县| 常山县| 资源县| 科尔| 湖北省| 哈巴河县| 三门峡市| 华亭县| 霸州市| 长海县| 应城市| 宜宾市| 东兰县| 石渠县| 雷州市| 万州区| 韶关市| 祁阳县|