`

<转>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> 

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

相关推荐

    标签内JavaScript代码的高亮显示插件

    本文将探讨一种专门用于在`&lt;pre&gt;`标签内实现JavaScript代码高亮显示的插件,并结合源码分析工具,提升开发效率。 首先,`&lt;pre&gt;`标签内的JavaScript代码高亮显示插件通常是基于CSS和JavaScript实现的。这类插件通过...

    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的标准标签库,创建自己的定制化标签,以提高代码的可读性和可维护性。自定义标签可以封装复杂的业务逻辑或者视图呈现,使得页面...

Global site tag (gtag.js) - Google Analytics