程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> jsp自定義標簽封裝jqGrid

jsp自定義標簽封裝jqGrid

編輯:關於JSP

 jsp標簽技術非常實用,這不,才到公司實習就用到了。我是用一個jsp標簽封裝了jqGrid(jQuery的一個表格插件)通過一個select語句就能自動構建表格,並能從數據庫中取得參數。整個小架構就不發出來了,因為我把jqGrid表格進行了二次封裝,如果又想要的,可以留言哈。下面主要講的是jsp自定義標簽的用法。   一、寫一個tag的解析類 要繼承TagSupport類,復寫 doStartTag()或者doEndTag就行了。 package com.lubby.tag; import java.io.IOException; import java.util.Properties; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; import org.apache.struts2.ServletActionContext; import com.lubby.util.PropertiesUtil; import com.opensymphony.xwork2.ActionContext;   public class jqgrid extends TagSupport { private String sql; @Override public int doEndTag() throws JspException { try { PropertiesUtil.setProperties(sql); System.out.println(sql); pageContext.getOut().print("<div id=\"content\"><table id=\"gridTable\" ></table><div id=\"gridPager\"  style=\"height:40px\" ></div></div>"); } catch (IOException e) { e.printStackTrace(); } return EVAL_PAGE; } public void setSql(String sql) { this.sql = sql; } public String getSql() { return sql; } }   二、建立tld文件  (tld的taglib有兩種引用,我用的是不用再web.xml配置的那種)   <?xml version="1.0" encoding="UTF-8" standalone="no"?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0"     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd">     <description><![CDATA["To make it easier to access dynamic data;"]]></description>     <display-name>Permission Tags</display-name>          <tlib-version>1.0</tlib-version>     <short-name>lubby</short-name>     <uri>www.lubby.com</uri> //在聲明標簽的時候使用      <tag>         <name>jqgrid</name>     //在jsp中標簽名         <tag-class>com.lubby.tag.jqgrid</tag-class>  //標簽的解釋類         <body-content>empty</body-content>     //沒有body體         <attribute> //設置參數             <name>sql</name> //參數名為sql             <required>true</required> //參數是必須提供的             <fragment>true</fragment>         </attribute>     </tag>     </taglib>   三、在頁面上使用標簽 1.聲明標簽 <%@ taglib prefix="s" uri="www.lubby.com"%> 2.使用標簽 <s:jqgrid sql = "select t1.id as 編號 ,t1.bussiness as 業務類型 ,t1.customer as 手機號碼 ,t1.brand as 品牌 from info t1" /> 3.客戶端訪問時生成的代碼是:   <div id="content"><table id="gridTable" ></table><div id="gridPager" style="height:40px" ></div></div>   需要注意的是:jsp自定義標簽的原理:jsp最終會轉化為servlet,自定義標簽也會轉化為servlet裡面執行代碼,servlet會返回給客戶端html代碼, 客戶端(游覽器)解釋所接收到的html代碼。自定義標簽由應用服務器轉化成html代碼。客戶端訪問的實際上是已經轉化的html頁面。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved