- 浏览: 84124 次
- 性别:
- 来自: changchun
文章分类
最新评论
-
sp42:
谢谢 非常有用!
银狐999的网络硬盘文档压缩包 -
HelloJava1234:
感谢楼主分享
《Thinking in Java 4th》习题答案 -
songjiesdnu:
非常感谢!!
《Thinking in Java 4th》习题答案 -
110429:
多谢楼主分享!!
《Thinking in Java 4th》习题答案 -
281386194:
感谢分享~
《Thinking in Java 4th》习题答案
--------------------javaBean---------------
AuditingMSSqlIMp.java文件
--------------------页面使用文件---------------
auditing_Query.jsp 页面使用文件
--------------------配置页面使用的属性---------------
--------------------配置标签使用类---------------
--------------------页面属性配置文件---------------
eline-auditing.tld文件 自定义标签配置属性文件
--------------------以上流程自定义标签实现---------------
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>
--------------------以上流程自定义标签实现---------------
发表评论
-
『学习记录』Gravel中的组件和标签
2008-05-13 10:45 1673看了一些Gravel项目的tld,记录一下自己的理解。 ga ... -
<转>关于h:dataTable的使用
2008-04-30 08:51 3419关于h:dataTable的使用 基本用法 后台处理 ... -
(转)共享我在项目中使用jsf的一些经验
2008-04-15 19:26 1474我目前的项目前端使用的是jsf+seam的架构,目前项目已经进 ... -
读《JavaServer Faces 1.2 入门》
2008-04-01 14:48 1616第一部,构建基本应用程序: <managed-bea ... -
(转)W3C XHTML 1.0 Strict 标准模板 (GBK,UTF-8)
2008-04-01 14:06 2019我做页面一直用的2套基础模板,不过UTF-8用的比较多-_-| ... -
(转自IBM)JavaServer Faces 1.2 入门,第 2 部分 JSF生命周期、转换、检
2008-03-31 13:57 1778附件中…… -
JavaServer Faces 1.2 入门,第1部分 构建基本应用程序.docx
2008-03-31 10:21 1556文档太大,上传附件吧
相关推荐
本文将探讨一种专门用于在`<pre>`标签内实现JavaScript代码高亮显示的插件,并结合源码分析工具,提升开发效率。 首先,`<pre>`标签内的JavaScript代码高亮显示插件通常是基于CSS和JavaScript实现的。这类插件通过...
例如,如果你使用 Maven,可以在 `pom.xml` 文件中添加 MBG 的依赖,并在 `<build>` 标签内定义一个执行生成代码的目标。 在 `MBGeneratorExample` 这个示例中,很可能是提供了一个完整的配置文件和自定义插件,...
封装一个动态生成`<select>`标签的自定义标签,使得开发人员能够灵活地根据数据库内容动态填充下拉列表,减少了重复编写相同逻辑的代码。通过理解自定义标签的工作原理和如何创建及使用,开发者可以更好地掌握J2EE...
首先,我们需要了解Java自定义标签的基础。在Java Servlet规范中,JSP标准标签库(JSTL)提供了许多预定义的标签,但有时这些标签无法满足我们的特定需求。这时,我们可以创建自己的自定义标签库(Tag Library)来...
在Java Web开发中,自定义标签(Custom Tags)和自定义函数(Custom Functions)是提高代码复用性和可维护性的重要手段。它们是JSP(JavaServer Pages)标准标签库(JSTL)的一种扩展,允许开发者创建符合特定业务...
总结来说,Java自定义标签的实现涉及创建TLD文件、编写标签处理器类以及在JSP页面中使用。这种机制使得开发者能够构建自己的函数库,提供定制化的功能,从而提高代码复用性和应用程序的可维护性。在本例中,我们学习...
本篇文章将深入探讨Java自定义标签的简单实例,帮助你理解如何在实际开发中应用这一技术。 首先,我们需要了解自定义标签的基本结构和组成。一个自定义标签通常由三部分组成:标签库描述文件(TLD)、标签处理类...
与传统的脚本语言(如JavaScript)相比,Java自定义标签能够更好地利用Java的强大功能,提高代码的可维护性和可扩展性。 #### 2. Java自定义标签的优势 - **封装性**:可以将复杂的业务逻辑封装到一个简单的标签中...
在Java服务器页面(JSP)开发中,自定义标签是一种扩展JSP功能的强大方式,它允许我们封装复杂的逻辑或重复使用的代码片段,提高代码的可读性和可维护性。本篇将深入探讨“JSP自定义标签之日期显示”,以及如何通过...
总之,自定义标签是Java EE开发中的一个重要工具,它能帮助我们更好地组织和复用代码。使用Maven构建自定义标签库,可以使项目管理更加规范,同时便于分享和集成到其他项目中。通过以上步骤,你可以轻松地实现自定义...
在Web开发中,自定义标签库是提升代码复用性和可维护性的重要手段,尤其是在JavaServer Pages (JSP)环境中。本文将基于一篇技术笔记——《自定义标签库制作(二)》,详细阐述如何创建并应用带有参数的自定义标签。 ...
在JavaServer Pages (JSP) 开发中,自定义标签是一种强大的工具,它允许开发者创建可重用的组件,提高代码的可读性和维护性。本教程“权威实用jsp自定义标签demo<select,checkbox,radio>”专注于演示如何创建和使用...
3. **标签体(Tag Body)**:在JSP页面中,我们可以使用自定义标签`<fmt:formatTime seconds="${yourIntVariable}" />`。这里的`fmt:`是自定义标签库的URI,`formatTime`是自定义标签的名称,`seconds`是传递给标签...
在Java Web开发中,`<c:if>`标签是JSTL(JavaServer Pages Standard Tag Library)的一部分,用于实现条件判断。...总的来说,理解和运用`<c:if>`标签以及自定义标签技术,能够使我们的Java Web开发更加高效且灵活。
通过自定义标签,开发者可以将复杂的业务逻辑封装起来,避免在多个页面中重复编写相同的代码,同时也可以使页面设计与业务逻辑分离,提高代码的维护性和扩展性。 #### 三、创建自定义标签的步骤 ##### 1. 新建TLD...
在Java Web开发中,自定义标签(Custom Tags)是一种强大的工具,它允许开发者创建可重用的组件,增强代码的可读性和可维护性。这些标签可以用来封装复杂的业务逻辑或者简化视图层的HTML输出。本文将深入探讨如何...
在JSP页面中,我们可以通过`<jsp:taglib>`指令引入TLD定义的标签库,然后在页面中使用自定义标签。 例如,一个简单的TLD文件可能包含以下内容: ```xml <taglib> <tlib-version>1.0</tlib-version> <jsp-version...
Java自定义标签是JavaServer Pages (JSP)技术的一个强大特性,它允许开发者扩展JSP的标准标签库,创建自己的定制化标签,以提高代码的可读性和可维护性。自定义标签可以封装复杂的业务逻辑或者视图呈现,使得页面...