目标
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 --效果图