目標
1.創建 自定義 標簽文件 : 在 WEB-INF/tags/ 定義一個后綴名為 .tag 的文件 然后在jsp頁面引用.
2.自己寫的一些小例子,在附件中【包含:自定義標簽,自定義標簽文件,打包標簽文件,分頁標簽,錢大寫,dataGridView 等】
STEP:1 ? --dataGridViewTagFile.tag
STEP:2 ? --在index.jsp中引用標簽文件并利用
STEP:3 ? --效果圖
1.創建 自定義 標簽文件 : 在 WEB-INF/tags/ 定義一個后綴名為 .tag 的文件 然后在jsp頁面引用.
2.自己寫的一些小例子,在附件中【包含:自定義標簽,自定義標簽文件,打包標簽文件,分頁標簽,錢大寫,dataGridView 等】
STEP:1 ? --dataGridViewTagFile.tag
<%@ tag body-content="scriptless" pageEncoding="UTF-8" %>
<!-- 【引用JSTL標簽】-->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<!-- 【必須屬性】 在標簽文件中定義屬性dataScource:數據源 -->
<%@ attribute name="dataSource" required="true" type="javax.servlet.jsp.jstl.sql.Result"%>
<!-- 【可選參數】 自定義 要顯示的列名 采用“,”分割 ,default:所有列-->
<%@ attribute name="colunms" type="java.lang.String"%>
<!-- 【可選參數】 table表單的id值 -->
<%@ attribute name="id" type="java.lang.String"%>
<!-- 【可選參數】 table表單的class -->
<%@ attribute name="cls" type="java.lang.String"%>
<!-- 【可選參數】 奇數tr的class -->
<%@ attribute name="otrcls" type="java.lang.String"%>
<!-- 【可選參數】偶數tr的class -->
<%@ attribute name="etrcls" type="java.lang.String"%>
<!-- 編寫表單 -->
<table border="1" id="${id}" class="${cls}">
<tr bgcolor="#CCCCCC">
<!-- 顯示 表頭列名 -->
<c:choose>
<c:when test="${colunms ne null && fn:length(colunms) gt 0}">
<c:forEach var="columnName" items="${fn:split(colunms,',')}">
<c:if test="${fn:length(columnName) gt 0}">
<th>${columnName}</th>
</c:if>
</c:forEach>
</c:when>
<c:otherwise>
<c:forEach items="${dataSource.columnNames}" var="columnName">
<th>${columnName}</th>
</c:forEach>
</c:otherwise>
</c:choose>
</tr>
<!-- 顯示 表中數據 -->
<c:forEach items="${dataSource.rows}" var="row" varStatus="varIndex">
<!-- 控制奇偶樣式 -->
<c:if test="${varIndex.index mod 2 eq 0}">
<tr class="${otrcls}">
</c:if>
<c:if test="${varIndex.index mod 2 ne 0}">
<tr class="${etrcls}">
</c:if>
<!-- 顯示數據 -->
<c:choose>
<c:when test="${colunms ne null && fn:length(colunms) gt 0}">
<c:forEach var="columnName" items="${fn:split(colunms,',')}">
<c:if test="${fn:length(columnName) gt 0}">
<td>${row[columnName]}</td>
</c:if>
</c:forEach>
</c:when>
<c:otherwise>
<c:forEach var="columnName" items="${dataSource.columnNames}">
<td>${row[columnName]}</td>
</c:forEach>
</c:otherwise>
</c:choose>
</tr>
</c:forEach>
</table>
STEP:2 ? --在index.jsp中引用標簽文件并利用
<%@ page language="java" import="java.util.*"
pageEncoding="UTF-8"%>
<!-- jsp:directive.page:只在當前頁面 能夠訪問 jsp:include 的頁面不能使用 和 import 都可以使用訪問 -->
<jsp:directive.page import="javax.servlet.jsp.jstl.sql.Result" />
<jsp:directive.page import="com.soft.common.*" />
<!--引用自定義標簽文件中的表 -->
<%@ taglib tagdir="/WEB-INF/tags" prefix="javaweb"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
#customers
{
font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
border-collapse:collapse;
}
#customers td, #customers th
{
font-size:1em;
border:1px solid #98bf21;
padding:3px 7px 2px 7px;
}
#customers th
{
font-size:1.1em;
text-align:left;
padding-top:5px;
padding-bottom:4px;
background-color:#A7C942;
color:#ffffff;
}
#customers tr.alt td
{
color:#000000;
background-color:#EAF2D3;
}
</style>
</head>
<body>
<%
//獲取數據源
Result result = BaseDAO.runSelectSql("select id,loginname,sex,password from bi_user where rownum<15");
pageContext.setAttribute("dataSource", result);
%>
定義DataGridView標簽 顯示部分列名
<javaweb:gridViewTagFile dataSource="${dataSource}" id="customers" etrcls="alt" colunms="id,loginname,SEX,PASSWORD"/>
</body>
</html>
STEP:3 ? --效果圖
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

