`

<转>java自定义标签代码

阅读更多
--------------------javaBean---------------
AuditingMSSqlIMp.java文件
public Page getAuditingListPage(int pageIndex, int pageSize,int userId) throws SQLException { 
// TODO Auto-generated method stub 
Page page = new Page(); 
Connection conn = null; 
CallableStatement stmt = null; 
ResultSet rst = null; 
try{ 
String str="{call dbo.up_auditingList(?,?,?)}"; 
conn = super.getDBConnection(); 
stmt = conn.prepareCall(str); 
stmt.setInt(1, pageIndex); 
stmt.setInt(2, pageSize); 
stmt.setInt(3, userId); 
rst = stmt.executeQuery(); 
while(rst.next()){ 
LpReadObj auditing = new LpReadObj(); 
auditing.setRegionName(rst.getString("regionName")); 
auditing.setRealName(rst.getString("realName")); 
auditing.setUserName(rst.getString("userName")); 
auditing.setApplyLpCount(rst.getInt("Ah_applyLpcount")); 
auditing.setApprovalCount(rst.getInt("ah_approvalCount")); 
auditing.setType(rst.getInt("ah_type")); 
auditing.setApplyDate(rst.getString("ah_applydate")); 
page.getItems().add(auditing); 

} 
if (stmt.getMoreResults()) { 
rst = stmt.getResultSet(); 
if (rst.next()) { 
page.setTotalRecords(rst.getInt(1)); 
} 
} 
}catch (SQLException e) { 
throw e; 
}finally{ 
super.closeResultSet(rst); 
super.closeStatement(stmt); 
super.closeConnection(conn); 
} 
return page; 
} 

--------------------页面使用文件---------------
auditing_Query.jsp 页面使用文件

<%@ page language="java" contentType="text/html; charset=GB18030" 
pageEncoding="GB18030"%> 
<%@ page import="com.eline.epicc.user.*"%> 
<%@ page import="com.eline.epicc.user.model.*"%> 
<%@ taglib uri="/tlds/eline-common.tld" prefix="common1"%> 
<%@ taglib uri="/tlds/eline-auditing.tld" prefix="auditing1"%> 
<% 
User user = Users.getUser(); 
if (user == null || user.getUserId() == 0) { 
System.out.println("Can not get instance of current user."); 
user = Users.getAnonymousUser(); 
} 
%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<auditing1:auditingListQuery id="auditingList1" userId="<%=user.getUserId()%>" pageSize="10"> 
<table class="clsDataList" cellspacing="0" width="100%" border="1" cellpadding="1"> 
<tr height="30"> 
<th align="center" nowrap width="12%">分公司</th> 
<th align="center" nowrap width="10%">真实姓名</th> 
<th align="center" nowrap width="10%">登陆名称</th> 
<th align="center" nowrap width="4%">申请号码数</th> 
<th align="center" nowrap width="4%">批准号码数</th> 
<th align="center" nowrap width="5%">二维码类型</th> 
<th align="center" nowrap width="10%">批复日期</th> 
</tr> 
<common1:items> 
<tr height="25"> 
<td align="center" width="12%"><auditing1:auditingQueryAttribute name="regionName" /></td> 
<td align="center" width="10%"><auditing1:auditingQueryAttribute name="realName" /></td> 
<td align="center" width="10%"><auditing1:auditingQueryAttribute name="userName" /></td> 
<td align="center" width="4%"><auditing1:auditingQueryAttribute name="applyLpCount" /></td> 
<td align="center" width="4%"><auditing1:auditingQueryAttribute name="approvalCount" /></td> 
<td align="center" width="5%"><auditing1:auditingQueryAttribute name="type" /></td> 
<td align="center" width="10%"><auditing1:auditingQueryAttribute name="applyDate" /></td> 
</tr> 
</common1:items> 
</table> 
<table border="0" width="100%" cellspacing="0" cellpadding="0"> 
<tr> 
<td><common1:summaryForm /></td> 
<td align="right"> 
<table border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td><common1:numberForm> 
<input type="submit" value="GO" 
style="HEIGHT: 20px; FONT-FAMILY:SimSun" /> 
</common1:numberForm></td> 
<td valign="bottom"><common1:firstForm> 
<input class="clsBtnPager" type="submit" value="7"> 
</common1:firstForm></td> 
<td valign="bottom"><common1:prevForm> 
<input class="clsBtnPager" type="submit" value="3"> 
</common1:prevForm></td> 
<td valign="bottom"><common1:nextForm> 
<input class="clsBtnPager" type="submit" value="4"> 
</common1:nextForm></td> 
<td valign="bottom"><common1:lastForm> 
<input class="clsBtnPager" type="submit" value="8"> 
</common1:lastForm></td> 
</tr> 
</table> 
</td> 
</tr> 
</table> 
</auditing1:auditingListQuery>

--------------------配置页面使用的属性---------------
package com.eline.epicc.auditing.taglib; 
import org.blue.util.StringUtils; 
import com.eline.epicc.auditing.model.LpReadObj; 
import com.eline.epicc.insurance.Insurances; 
import com.eline.epicc.taglib.ItemAttributeTag; 
public class AuditingQueryAttributeTag extends ItemAttributeTag { 

/** 
* 
*/ 
private static final long serialVersionUID = 1L; 
protected String createText() { 
LpReadObj obj = (LpReadObj) item; 
if (name.equalsIgnoreCase("regionName")) { 
return "" + obj.getRegionName(); 
} else if (name.equalsIgnoreCase("userName")) { 
return "" + obj.getUserName(); 
}else if (name.equalsIgnoreCase("realName")) { 
return "" + obj.getRealName(); 
}else if(name.equalsIgnoreCase("mobilePIN")){ 
return "" + StringUtils.toString(obj.getMobilePIN()); 
}else if(name.equalsIgnoreCase("applyLpCount")){ 
return "" + StringUtils.toString(obj.getApplyLpCount()); 
}else if(name.equalsIgnoreCase("approvalCount")){ 
return "" + StringUtils.toString(obj.getApprovalCount()); 
}else if(name.equalsIgnoreCase("type")){ 
return "" + Insurances.getTypeMessage(obj.getType()); 
}else if(name.equalsIgnoreCase("applyDate")){ 
String aa = StringUtils.toString(obj.getApplyDate()); 
String bb = aa.substring(0, 11); 
return "" + bb; 

} 
return null; 
} 
} 

--------------------配置标签使用类---------------
package com.eline.epicc.auditing.taglib; 

import java.util.Collection; 
import javax.servlet.http.HttpServletRequest; 
import com.eline.epicc.auditing.Auditings; 
import com.eline.epicc.taglib.ListTag; 
import com.eline.epicc.taglib.SortOrder; 
import com.eline.epicc.user.Users; 
import com.eline.epicc.user.model.SortUsersBy; 
import com.eline.epicc.user.model.User; 
import com.eline.epicc.taglib.Page; 

public class AuditingQueryTag extends ListTag { 
/** 
* 
*/ 
private static final long serialVersionUID = 1L; 
protected final String prefix = "UserList_"; 
protected boolean hasNext = false; 
private String regionName;//分公司 
private String userName;//姓名 
private String realName; 
private int userId; 
protected int sortBy = SortUsersBy.Username; 
protected int sortOrder = SortOrder.Ascending; 
protected String usernameFilter = null; 
private int tatalCount; 
private int doneCount; 
private int remainCount; 
private int unApplyCount; 
private int approvalCount; 
private int type; 

//审核记录 
private String mobilePIN;//TEL 
private int applyLpCount;//applyCount 
private String applyDate; //审核日期 
public String getApplyDate() { 
return applyDate; 
} 
@Override 
protected Collection findCollection() throws Exception { 
// TODO Auto-generated method stub 
Collection coll = null; 
Page page = null; 

User user = Users.getUser(); 
if (user == null || user.getUserId() == 0) 
throw new Exception("Can not get instance of current user."); 

HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); 

// 保证每次调用该列表页面时总显示第一页 
if (request.getParameter(getParamPrefix() + "pageIndex") == null 
|| request.getParameter(super.getParamPrefix() + "pageIndex").equals("") 
|| request.getParameter(getParamPrefix() + "pageIndex").equalsIgnoreCase("null")) 
pageIndex = 0; 
page = Auditings.readAuditingList(pageIndex,pageSize,user.getUserId()); 
coll = page.getItems(); 
System.out.println("page.size()=" + page.getSize()); 

// 为基类相应属性赋值,写共几条记录,共几页第几页用 
totalRecords = page.getTotalRecords(); // 共有多少条记录 
//totalRecords = 5; 
totalPages = (totalRecords + pageSize - 1) / pageSize; // 共有多少页 
// 是否有下页 
hasNext = ((pageIndex + 1) < totalRecords) ? true : false; 
return coll; 
} 

@Override 
protected void initParamPrefix() { 
super.paramPrefix = this.prefix; 
} 

public void setUsernameFilter(String usernameFilter) { 
if (usernameFilter != null 
&& (usernameFilter.length() == 0 || usernameFilter.equalsIgnoreCase("null"))) 
this.usernameFilter = null; 
else 
this.usernameFilter = usernameFilter; 
} 
@Override 
protected boolean needsNextForm() { 
// TODO Auto-generated method stub 
return hasNext; 
} 

} 

--------------------页面属性配置文件---------------
eline-auditing.tld文件 自定义标签配置属性文件
<?xml version="1.0" encoding="GB2312"?> 
<!DOCTYPE taglib 
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" 
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> 

<!-- a tag library descriptor --> 
<taglib> 
<tlibversion>1.0</tlibversion> 
<jspversion>1.1</jspversion> 
<shortname>waftemplate</shortname> 
<uri></uri> 
<info>EPicc Web Application Framework Template Tags</info> 

<!-- 
二维码列表显示 
--> 
<tag> 
<name>auditingAttribute</name> 
<tagclass>com.eline.epicc.auditing.taglib.AuditingAttributeTag</tagclass> 
<bodycontent>empty</bodycontent> 
<info>用于二维码分配的详细信息</info> 

<!-- default is "name" --> 
<attribute> 
<name>name</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
</tag> 

<tag> 
<name>auditingQueryAttribute</name> 
<tagclass>com.eline.epicc.auditing.taglib.AuditingQueryAttributeTag</tagclass> 
<bodycontent>empty</bodycontent> 
<info>用于二维码分配的详细信息</info> 

<!-- default is "name" --> 
<attribute> 
<name>name</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
</tag> 
<tag> 
<name>auditingListQuery</name> 
<tagclass>com.eline.epicc.auditing.taglib.AuditingQueryTag</tagclass> 
<bodycontent>JSP</bodycontent> 
<info>用于求出符合条件的二维码信息列表</info> 

<!-- id字符串 --> 
<attribute> 
<name>id</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 

<attribute> 
<name>userId</name> 
<required>true</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 

<!-- 每页最大记录数 --> 
<attribute> 
<name>pageSize</name> 
<required>true</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 

<!-- 第几页 --> 
<attribute> 
<name>pageIndex</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 

<!-- 排序字段 --> 
<attribute> 
<name>sortBy</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
<attribute> 
<name>sortOrder</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
<!-- 分公司 --> 
<attribute> 
<name>regionName</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
<!-- (手机)姓名 --> 
<attribute> 
<name>userName</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
<!-- 姓名 --> 
<attribute> 
<name>realName</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
<!-- 电话号码 --> 
<attribute> 
<name>mobilePIN</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 

<!-- 申请号码数--> 
<attribute> 
<name>applyLpCount</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
<!-- 批准号码数--> 
<attribute> 
<name>approvalCount</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
<!--二维码类型--> 
<attribute> 
<name>type</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
<!--审核日期--> 
<attribute> 
<name>applyDate</name> 
<required>false</required> 
<rtexprvalue>true</rtexprvalue> 
</attribute> 
</tag> 
</taglib> 

--------------------以上流程自定义标签实现---------------
分享到:
评论

相关推荐

    mybatis自定义生成代码策略示例

    例如,如果你使用 Maven,可以在 `pom.xml` 文件中添加 MBG 的依赖,并在 `&lt;build&gt;` 标签内定义一个执行生成代码的目标。 在 `MBGeneratorExample` 这个示例中,很可能是提供了一个完整的配置文件和自定义插件,...

    JSP自定义标签(封装<select>标签)

    封装一个动态生成`&lt;select&gt;`标签的自定义标签,使得开发人员能够灵活地根据数据库内容动态填充下拉列表,减少了重复编写相同逻辑的代码。通过理解自定义标签的工作原理和如何创建及使用,开发者可以更好地掌握J2EE...

    java自定义分页标签

    首先,我们需要了解Java自定义标签的基础。在Java Servlet规范中,JSP标准标签库(JSTL)提供了许多预定义的标签,但有时这些标签无法满足我们的特定需求。这时,我们可以创建自己的自定义标签库(Tag Library)来...

    java自定义标签、自定义函数、taglib

    在Java Web开发中,自定义标签(Custom Tags)和自定义函数(Custom Functions)是提高代码复用性和可维护性的重要手段。它们是JSP(JavaServer Pages)标准标签库(JSTL)的一种扩展,允许开发者创建符合特定业务...

    JAVA自定义标签例子

    总结来说,Java自定义标签的实现涉及创建TLD文件、编写标签处理器类以及在JSP页面中使用。这种机制使得开发者能够构建自己的函数库,提供定制化的功能,从而提高代码复用性和应用程序的可维护性。在本例中,我们学习...

    java 自定义标签 简单实例

    本篇文章将深入探讨Java自定义标签的简单实例,帮助你理解如何在实际开发中应用这一技术。 首先,我们需要了解自定义标签的基本结构和组成。一个自定义标签通常由三部分组成:标签库描述文件(TLD)、标签处理类...

    这是本人做的一个很好的Java自定义标签

    与传统的脚本语言(如JavaScript)相比,Java自定义标签能够更好地利用Java的强大功能,提高代码的可维护性和可扩展性。 #### 2. Java自定义标签的优势 - **封装性**:可以将复杂的业务逻辑封装到一个简单的标签中...

    JSP自定义标签之日期显示

    在Java服务器页面(JSP)开发中,自定义标签是一种扩展JSP功能的强大方式,它允许我们封装复杂的逻辑或重复使用的代码片段,提高代码的可读性和可维护性。本篇将深入探讨“JSP自定义标签之日期显示”,以及如何通过...

    自定义标签(maven)

    总之,自定义标签是Java EE开发中的一个重要工具,它能帮助我们更好地组织和复用代码。使用Maven构建自定义标签库,可以使项目管理更加规范,同时便于分享和集成到其他项目中。通过以上步骤,你可以轻松地实现自定义...

    原创-制作一个带参数的自定义标签

    在Web开发中,自定义标签库是提升代码复用性和可维护性的重要手段,尤其是在JavaServer Pages (JSP)环境中。本文将基于一篇技术笔记——《自定义标签库制作(二)》,详细阐述如何创建并应用带有参数的自定义标签。 ...

    权威实用jsp自定义标签demo<select,checkbox,radio>

    在JavaServer Pages (JSP) 开发中,自定义标签是一种强大的工具,它允许开发者创建可重用的组件,提高代码的可读性和维护性。本教程“权威实用jsp自定义标签demo&lt;select,checkbox,radio&gt;”专注于演示如何创建和使用...

    jstl 自定义标签

    3. **标签体(Tag Body)**:在JSP页面中,我们可以使用自定义标签`&lt;fmt:formatTime seconds="${yourIntVariable}" /&gt;`。这里的`fmt:`是自定义标签库的URI,`formatTime`是自定义标签的名称,`seconds`是传递给标签...

    开发<c:if>标签

    在Java Web开发中,`&lt;c:if&gt;`标签是JSTL(JavaServer Pages Standard Tag Library)的一部分,用于实现条件判断。...总的来说,理解和运用`&lt;c:if&gt;`标签以及自定义标签技术,能够使我们的Java Web开发更加高效且灵活。

    Struts2自定义标签

    通过自定义标签,开发者可以将复杂的业务逻辑封装起来,避免在多个页面中重复编写相同的代码,同时也可以使页面设计与业务逻辑分离,提高代码的维护性和扩展性。 #### 三、创建自定义标签的步骤 ##### 1. 新建TLD...

    Java web自定义标签操作数据库

    在Java Web开发中,自定义标签(Custom Tags)是一种强大的工具,它允许开发者创建可重用的组件,增强代码的可读性和可维护性。这些标签可以用来封装复杂的业务逻辑或者简化视图层的HTML输出。本文将深入探讨如何...

    tld自定义标签基础入门demo

    在JSP页面中,我们可以通过`&lt;jsp:taglib&gt;`指令引入TLD定义的标签库,然后在页面中使用自定义标签。 例如,一个简单的TLD文件可能包含以下内容: ```xml &lt;taglib&gt; &lt;tlib-version&gt;1.0&lt;/tlib-version&gt; &lt;jsp-version...

    java自定义标签.......java自定义标签

    Java自定义标签是JavaServer Pages (JSP)技术的一个强大特性,它允许开发者扩展JSP的标准标签库,创建自己的定制化标签,以提高代码的可读性和可维护性。自定义标签可以封装复杂的业务逻辑或者视图呈现,使得页面...

    struts2自定义标签案例详解

    在Struts2中,自定义标签的实现是提升可重用性和简化视图层代码的一个重要特性。下面我们将深入探讨如何在Struts2中实现自定义标签,以及其背后的原理。 自定义标签的创建主要涉及以下三个步骤: 1. **创建taglib...

Global site tag (gtag.js) - Google Analytics