[color=red]目标[/color]
1.创建 自定义[color=red]标签文件[/color]: 在[color=red]WEB-INF/tags/[/color] 定义一个后缀名为[color=red].tag[/color] 的文件 然后在jsp页面引用.
[color=green]2.自己写的一些小例子,在附件中【包含:自定义标签,自定义标签文件,打包标签文件,分页标签,钱大写,dataGridView 等】[/color]
[b][color=red]STEP:1[/color][/b] --dataGridViewTagFile.tag
[b][color=red]STEP:2[/color][/b] --在index.jsp中引用标签文件并利用
[b][color=red]STEP:3[/color][/b] --效果图
[img]http://dl2.iteye.com/upload/attachment/0071/5823/336a15a7-1c57-399b-9ea5-53bdf9a65f88.jpg[/img]
1.创建 自定义[color=red]标签文件[/color]: 在[color=red]WEB-INF/tags/[/color] 定义一个后缀名为[color=red].tag[/color] 的文件 然后在jsp页面引用.
[color=green]2.自己写的一些小例子,在附件中【包含:自定义标签,自定义标签文件,打包标签文件,分页标签,钱大写,dataGridView 等】[/color]
[b][color=red]STEP:1[/color][/b] --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>
[b][color=red]STEP:2[/color][/b] --在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>
[b][color=red]STEP:3[/color][/b] --效果图
[img]http://dl2.iteye.com/upload/attachment/0071/5823/336a15a7-1c57-399b-9ea5-53bdf9a65f88.jpg[/img]