struts+hibernate结构的分页组件(一) 广东精鹰软件工作室(刘正仁)
来源:互联网 发布:程序员未来前景如何 编辑:程序博客网 时间:2024/05/04 21:21
我贴一下源代码吧.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<action-mappings>
<action path="/pageTest" type="com.gdcn.frame.TestAction">
<forward name="page111" path="/bb.jsp" />
</action>
</action-mappings>
<!-- 定义本模块的预处理器-->
<controller contentType="text/html;charset=utf-8" locale="true" processorClass="com.gdcn.frame.MainRequestProcessor" />
<!-- 定义本模块要使用的资源文件,在国际化问题是由为有用-->
<message-resources parameter="com.gdcn.frame.frame" />
</struts-config>
public.js (只用到了一部分)
function next_focus(text)
{
if(window.event.keyCode ==13)
{
window.event.keyCode=9;
}
}
function mouseovertd (o)
{
o.style.color='#ffffff';
o.style.backgroundColor='#B3B3B3';
}
function mouseouttd (o)
{
o.style.color='#000000';
o.style.backgroundColor='';
}
function goPage(flag,currPage,formId,formAction,formTarget,formMethod,pageNumId)
{
var formObj=document.all(formId)
formObj.target=formTarget;
formObj.method=formMethod;
if(flag=='go')
{
var obj=document.all(pageNumId)
if(isNaN(obj.value))
{
obj.select();
return;
}
else
{
currPage=obj.value
}
}
pageMethod="pageMethod="+flag+"¤tPage="+currPage;
formAction=formAction+"?"+pageMethod;
formObj.action=formAction;
formObj.submit();
}
function submitForm(formId)
{
editModel_fireeagle=false
var objForm =document.all(formId);
if(Validator.Validate(objForm,2))
{
top.bottom.document.all("process").innerHTML="<img name='pro' src='"+baseURL+"/images/public/process.gif' border='0'>"
objForm.submit();
}
}
function submitFormQuery(formId)
{
var objForm =document.all(formId);
objForm.is_QUERY.value="YES"
top.bottom.document.all("process").innerHTML="<img name='pro' src='"+baseURL+"/images/public/process.gif' border='0'>"
objForm.submit();
}
function buttomOnClick(url,target)
{
top.bottom.document.all("process").innerHTML="<img name='pro' src='"+baseURL+"/images/public/process.gif' border='0'>"
if(target=='parent')
{
parent.location.href=url
}else if(target=='self')
{
location.href=url
}
}
function changeEditModel()
{
editModel_fireeagle=true
}
function isClose()
{
if(editModel_fireeagle)
{
top.bottom.document.all("process").innerHTML="<img name='pro' src='"+baseURL+"/images/public/prosessEnd.gif' border='0'>"
return exitPro
}
}
//<input type=text name=test value="" onKeypress="JHshNumberText()">
function JHshNumberText()
{
if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))
|| (window.event.keyCode == 13) || (window.event.keyCode == 46)
|| (window.event.keyCode == 45)))
{
window.event.keyCode = 0 ;
}
}
document.onkeydown = openHelp
function openHelp()
{
if(window.event.keyCode==113)
{
if(top.main.document.title.indexOf("HELP")>=0)
{
showModalDialog(baseURL+"/frame/help/"+top.main.document.title);
}
}
}
DispartPage.java (taglib类)
package com.gdcn.frame;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyTagSupport;
import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;
public class DispartPage extends BodyTagSupport{
private String formId; //表单id
private String formAction;//处理表单的action
private String formTarget="_self";//表单出现的窗口,默认为自己窗口里
private String formMethod="post";//提交表单的方法,默认为post
private String pageNumId; //用户输入的页面数控件的id
private int cols; //这个标签要放入table中,他生成一个tr,但里面只有一个td,
//cols表示这个td要占的列
//private Object pagerObject = null; //页面对象
/*
public Object getPagerObject() {
return pagerObject;
}
public void setPagerObject(Object value) throws JspException {
this.pagerObject = ExpressionEvaluatorManager.evaluate("pagerObject",
value.toString(), Object.class, this, pageContext);
}
*/
public String getFormAction() {
return formAction;
}
public void setFormAction(String formAction) {
this.formAction = formAction;
}
public String getFormId() {
return formId;
}
public void setFormId(String formId) {
this.formId = formId;
}
public String getFormMethod() {
return formMethod;
}
public void setFormMethod(String formMethod) {
this.formMethod = formMethod;
}
public String getFormTarget() {
return formTarget;
}
public void setFormTarget(String formTarget) {
this.formTarget = formTarget;
}
public String getPageNumId() {
return pageNumId;
}
public void setPageNumId(String pageNumId) {
this.pageNumId = pageNumId;
}
public int doStartTag() {
return EVAL_BODY_INCLUDE;
}
public int doEndTag() throws JspException {
//Pager pager = (Pager)this.getPagerObject();
Pager pager = (Pager)pageContext.getRequest().getAttribute("pager");
JspWriter out = pageContext.getOut();
StringBuffer buf = new StringBuffer();
buf.append("<tr class='ListTableRow' >");
buf.append("<td colspan='"+cols+"' >");
String disabled="";
if(pager.getTotalPages()==1||pager.getCurrentPage()==1)
disabled=" disabled='true'";
buf.append("<input type='button' name='Submit' value='第一页'"+disabled+" class='Button3' onClick=goPage('first',"+pager.getCurrentPage()+",'"+formId+"','"+formAction+"','"+formTarget+"','"+formMethod+"','"+pageNumId+"')>");
disabled=" disabled='true' ";
if(pager.getTotalPages()>1&&pager.getCurrentPage()!=1)
disabled="";
buf.append("<input type='button' name='Submit' value='上一页'"+disabled+" class='Button3' onClick=goPage('previous',"+pager.getCurrentPage()+",'"+formId+"','"+formAction+"','"+formTarget+"','"+formMethod+"','"+pageNumId+"')>");
disabled=" disabled='true'";
if(pager.getCurrentPage()<pager.getTotalPages())
disabled="";
buf.append("<input type='button' name='Submit' value='下一页'" +disabled+"class='Button3' onClick=goPage('next',"+pager.getCurrentPage()+",'"+formId+"','"+formAction+"','"+formTarget+"','"+formMethod+"','"+pageNumId+"')>");
disabled=" disabled='true'";
if(pager.getCurrentPage()!=pager.getTotalPages()&&pager.getTotalPages()!=1)
disabled="";
buf.append("<input type='button' name='Submit' value='最后一页'" +disabled+ " class='Button3' onClick=goPage('last',"+pager.getCurrentPage()+",'"+formId+"','"+formAction+"','"+formTarget+"','"+formMethod+"','"+pageNumId+"')>");
buf.append("共<font color='#0000FF'>"+pager.getTotalRows()+"</font>条记录,每页<font color='#0000FF'>"+pager.getPageSize()+"</font>条,分为<font color='#0000FF'>"+pager.getTotalPages()+"</font>页,到");
disabled=" disabled='true'";
if(pager.getTotalPages()!=1)
disabled="";
buf.append("<input type='text' name='"+pageNumId+"' "+disabled+" size='4' id='"+pageNumId+"' value='"+pager.getCurrentPage()+"' class='formStyleall'>页");
disabled=" disabled='true'";
if(pager.getTotalPages()!=1)
disabled="";
buf.append("<input type='button' name='Submit' value='跳转'"+disabled+" class='Button3' onClick=goPage('go',"+pager.getCurrentPage()+",'"+formId+"','"+formAction+"','"+formTarget+"','"+formMethod+"','"+pageNumId+"')>");
buf.append("</td>");
buf.append("</tr>");
try {
out.println(buf.toString());
} catch (IOException e) {
e.printStackTrace();
}
return EVAL_PAGE;
}
public void release() {
super.release();
}
public int getCols() {
return cols;
}
public void setCols(int cols) {
this.cols = cols;
}
}
gdcn.tld
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>FireEagle Application Tag Library</shortname>
<uri>http://</uri>
<info>广东精鹰软件工作室自定义标签库 author:刘正仁</info>
<tag>
<name>dispartPage</name>
<tagclass>com.gdcn.frame.DispartPage</tagclass>
<bodycontent>empty</bodycontent>
<info>分页标签</info>
<attribute>
<name>formId</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>formAction</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>formTarget</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>formMethod</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>pageNumId</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>cols</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
- struts+hibernate结构的分页组件(一) 广东精鹰软件工作室(刘正仁)
- struts+hibernate结构的分页组件(二) 广东精鹰软件工作室(刘正仁)
- Hibernate入门 广东精鹰软件工作室(刘正仁)
- 在Struts框架下大型Web应用程序的开发 广东精鹰软件工作室(刘正仁)
- struts实现多附件上传 广东精鹰软件工作室(刘正仁)
- Hibernate自定义数据类型映射oracle中xmlType 广东精鹰软件工作室(刘正仁)
- java怎样调用dll 广东精鹰软件工作室(刘正仁)
- java小东东。 广东精鹰软件工作室(刘正仁)
- 系统框架e-r设计 广东精鹰软件工作室(刘正仁)
- 规范化与非规范化 广东精鹰软件工作室(刘正仁) 笔记
- struts+hibernate+spring分页的简单实现(一)
- Struts+Hibernate分页的实现
- struts+hibernate的分页技术
- struts+hibernate 分页的实现
- 分享:Hibernate+Struts分页代码(一)
- 利用Hibernate提供的分页分页(Hibernate+Spring+Struts)
- Struts+Hibernate开发实践 分页的实现
- Struts+Hibernate开发实践 分页的实现
- PyQt4中pyrcc4和pyuic4的使用
- TextField类说明文档
- 嵌入式软件开发—回顾及总结
- 用Java SE 6.0实现高质量桌面集成开发
- 如何获得Oracle DBA工作?
- struts+hibernate结构的分页组件(一) 广东精鹰软件工作室(刘正仁)
- 半角、全角转化
- 悬而未决:MSSQL中存储过程的加密和解密
- Web应用及Servlet模型
- How to run Process Guard under a limited account
- Attribute
- struts+hibernate结构的分页组件(二) 广东精鹰软件工作室(刘正仁)
- 第一次出击(first beat)
- [转]AJAX框架汇总