jstlラベル関数をカスタマイズし、開発しやすい

3902 ワード

JSTLラベル関数をカスタマイズし、ページの呼び出しを便利にし、呼び出し関数を通じてデータを返してページ表示を行う.簡単で便利で、開発中によく使われる.
以下では、省を表示して手順を実行します.
ステップ1:クラスを新規作成するには、次の手順に従います.
package demo;    
   
import java.util.ArrayList;    
import java.util.List;    
   
//      
//  JSTL     
public class UtilFunction {    
    //      
    public static List getProvinces() {    
         List provinces = new ArrayList();    
            
        //      
         provinces.add(" ");    
         provinces.add(" ");    
         provinces.add(" ");    
         provinces.add(" ");    
         provinces.add(" ");    
            
        return provinces;       
     }       
}   

 
ステップ2:tldラベル関数登録ファイルの作成
myfunctions.tld
<?xml version="1.0" encoding="UTF-8" ?>   
   
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"   
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"   
  version="2.0">   
        
  <tlib-version>1.0</tlib-version>   
  <short-name>my</short-name>   
  <uri>http://www.changtusoft.cn/test/functions</uri>   
      
  <!-- JSTL      -->   
  <function>   
    <name>getProvinces</name>   
    <function-class>demo.UtilFunction</function-class>   
    <function-signature>java.util.List getProvinces()</function-signature>   
  </function>   
</taglib>   

 
ステップ3:web.xmlファイルにtldを登録する
 
 
 
<?xml version="1.0" encoding="UTF-8"?>   
<web-app version="2.5"    
    xmlns="http://java.sun.com/xml/ns/javaee"    
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee    
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">   
  <welcome-file-list>   
    <welcome-file>index.jsp</welcome-file>   
  </welcome-file-list>   
      
  <!--  JSTL  -->   
  <jsp-config>   
    <taglib>   
        <taglib-uri>http://www.changtusoft.cn/test/functions</taglib-uri>   
        <taglib-location>/WEB-INF/myfunctions.tld</taglib-location>   
    </taglib>   
  </jsp-config>   
      
</web-app>   
 

ステップ4:jspを作成してテストする
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>    
<!--  jstl  -->    
<%@ taglib prefix="c"   uri="http://java.sun.com/jsp/jstl/core" %>    
<!--  jstl  -->    
<%@ taglib prefix="my" uri="http://www.changtusoft.cn/test/functions" %>    
   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">    
<html>    
   <head>    
     <title> JSTL </title>    
   </head>    
      
   <body>    
      :    
     <select name="provinces">    
     <option>-- --</option>    
     <c:forEach items="${my:getProvinces()}" var="p">    
         <option>${p }</option>    
     </c:forEach>    
     </select>    
   </body>    
</html>