struts2自定义分页标签

合集下载

Struts2学习之二--Struts2标签介绍

Struts2学习之二--Struts2标签介绍

Struts2学习之二--Struts2标签介绍热12已有 14625 次阅读 2009-07-12 18:53[顶]3G移动--Android开发工程师全能班(转) Struts2学习之二--Struts2标签介绍在上一篇文章《为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节。

如果,您看完《为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我。

我的E-MAIL:Max.M.Yuan@。

在介绍常用标志前,我想先从总体上,对Struts 1.x与Struts 2.0的标志库(Tag Library)作比较。

分类将标志库按功能分成HTML、Tiles、Logic和Bean等几部分严格上来说,没有分类,所有标志都在URI为“/struts-tags”命名空间下,不过,我们可以从功能上将其分为两大类:非UI标志和UI标志表达式语言(expression languages)不支持嵌入语言(EL)OGNL、JSTL、Groovy和Velcity以上表格,纯属个人总结,如有所不足或错误,请不吝指正好了,我要开始介绍“常用”(这里所谓的“常用”,是指在已往工作中使用Struts里经常用到的)的标志了。

1.非UI标志o if、elseif和else描述:执行基本的条件流转。

参数:名称必需默认类型描述备注test 是Boolean 决定标志里内容是否显示的表达式else标志没有这个参数id 否Object/String 用来标识元素的id。

在UI和表单中为HTML的id属性例子:<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Condition Flow</title></head><body><h3>Condition Flow</h3><!--这里有点小技巧:本来可以用#[0]来获得,请求中name的值。

Struts2中的s标签 API Java Struts 程序开发

Struts2中的s标签 API Java Struts 程序开发
7. <s:autocompleter></s:autocompleter>-----自动完成<s:combobox>标签的内容,这个是ajax
B:
1. <s:bean name=""></s:bean>-----类似于struts1.x中的,JavaBean的值
C:
R:
1.
2. <s:radio list=""></s:radio>-----单选按钮
3. <s:reset></s:reset>-----重置按钮
S:
1. <s:select list=""></s:select>-----单选框
2. <s:set name=""></s:set>-----赋予变量一个特定范围内的值
4. <s:iterator></s:iterator>-----用于遍历集合
L:
1. <s:label></s:label>-----只读的标签
M:
1. <s:merge></s:merge>-----合并遍历集合出来的值
O:
数据标签:
action:直接调用一个Action,根据executeResult参数,可以将Action的处理结果包含到页面中。
bean:创建一个JavaBean实例。。
date:格式化输出一个日期属性。
debug:生成一个调试链接,当单击该链接时,可以看到当前栈值中的内容。

Struts2标签使用

Struts2标签使用

Struts2标签使用(1):<s:textfield> ---- 文本输入框使用:<s:textfield name=”实体Bean。

属性”></s:textfield>(2):<s:textarea> ----- 文本域输入框使用:<s:textarea name=”实体Bean。

属性”></s:textarea>(3):<s:password> ----- 密码输入框使用:<s:password name=”实体Bean。

属性”></s:password>前三个基本都是一样的。

如果是要显示值的话可以这样:value = “实体Bean。

Get***()”。

(4):<s:radio list=””> ---- 单选按钮使用:<s:radio list=””>其中list 属性是必须要有的。

<1>:第一种方式:list = “#{‘male’:’男’,’female’:’女’}”<2>:第二中方式:list = “#request/session.list”。

---- 与action 结合起来了。

如果要默认选中的话后面加上value = “”.也可以通过javascript 的方式来默认选中。

(5):<s:url/> --- url连接<s:a/> --- 超链接这两个标签一般结合起来来使用。

使用:<s:url id = “id” action = “userAction”/><s:a href=”%{id}”/>(6):<s:form/> --- 获取相应form的值使用:<1>:<s:form action = “userAction”><2>:<s:url id=”userId” action = “userAction”> -- 定义了一个userId的指向userActionde 路径<s:form action=”%{userId}”>(7):<s:submit/> ---- 提交标签(8):<s:reset/> ---- 重置标签(9):<s:hidden/> ---- 隐藏域标签使用:<s:hidden name=”实体Bean。

paginationinnerinterceptor使用

paginationinnerinterceptor使用

paginationinnerinterceptor使用分页是在网站开发中非常常见的功能之一,可以帮助用户更方便地查看和导航大量的数据。

为了实现分页功能,我们通常会使用一些第三方的库或者插件,来简化开发过程。

而在Java开发中,Struts2框架提供了一个名为paginationinnerinterceptor的拦截器,可以很方便地实现分页功能。

paginationinnerinterceptor是Struts2框架中的一个拦截器,它的作用是拦截Action请求,并对分页参数进行处理。

使用paginationinnerinterceptor可以将分页参数直接映射到Action的属性上,从而实现分页功能。

下面我们来看一下如何使用paginationinnerinterceptor来实现分页功能。

首先,我们需要在Struts2的配置文件struts.xml中配置paginationinnerinterceptor。

我们可以定义一个全局的拦截器栈,在拦截器栈中添加paginationinnerinterceptor拦截器。

具体的配置如下所示:```xml<package name="default" namespace="/" extends="struts-default"><interceptors><interceptor-stack name="paginationStack"><interceptor-ref name="defaultStack" /><interceptor-ref name="paginationinnerinterceptor" /></interceptor-stack></interceptors><default-interceptor-ref name="paginationStack" />...</package>```接下来,我们需要在Action中定义用于接收分页参数的属性。

struts2入门手册

struts2入门手册

struts2入门手册首先这个教程是基于你已经安装了myeclipse的基础上的,如果你还没有安装myeclipse 工具软件的话,你需要马上去安装一个。

如果你已经有了工具软件了的话,现在就按照以下步骤来入门struts2吧。

一、下载struts2进入struts的官网/,点击download,选择Full Distrybution:下的struts2-xxx-all.zip,下载struts2的最新版本,将压缩包解压,放置到D盘目录下。

二、解压struts2进入你解压后的struts2文件夹中,到D:\struts2-xxx\apps中,解压其中的struts2-blank.war 压缩文件到D:\struts2-xxx\example,这是struts2提供的基础例子,里面的WEB-INF\lib目录下的包正是struts2正常工作所需要的基本包。

三、导入struts2基本包打开你的myeclipse,创建一个web project工程,命名为test(你也可以自己随意起一个),不要急着点击Finish,先选择Next>,继续选择Next>,在弹出的对话框中把第二个单选框打勾,如图,再点击Finish。

创建好之后在你创建的工程上目录下的WebRoot/WEB-INF/lib目录上单击右键,选择import...,选择General下的File System,点击Next>,选择Browse...,浏览选择到D:\struts\example\WEB-INF\lib目录,点击确定。

选择Sellct All,点击Finish,就完成了struts需要的最基础的核心包的导入。

四、用struts实现一个简单的登陆验证1.修改工程目录下的WebRoot\WEB-INF目录下的web.xml文件,将里面的内容替换为如下代码:<?xml version="1.0"encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID"version="3.0"><display-name>test</display-name><!-- 设置初始页面的URL --><welcome-file-list><welcome-file>login.jsp</welcome-file></welcome-file-list><!-- 设置struts过滤器 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>2.在工程的src目录下创建struts.xml,代码如下:<?xml version="1.0"encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""/dtds/struts-2.3.dtd"><struts><!-- 是否开启动态方法调用 --><constant name="struts.enable.DynamicMethodInvocation"value="false"/> <!-- 指定被struts2处理的请求的后缀类型,多个用逗号隔开 --><constant name="struts.action.extension"value="action"/><!-- 设置浏览器是否静态缓存内容,开发阶段最好关闭 --><constant name="struts.devMode"value="true"/><!-- 设置当struts.xml改动后,是否重新加载,默认为false,开发环境下最好打开 --> <constant name="struts.configuraction.xml.reload"value="true"/> <package name="myPackage"namespace="/"extends="struts-default"> <action name="login"class="action.LoginAction"><result name="success">/welcome.jsp</result> <result name="input">/login.jsp</result></action></package></struts>3.在工程的src目录下创建package(包),命名为action,在action中新建class,命名为LoginAction,代码如下:package action;import javax.servlet.http.HttpSession;import com.opensymphony.xwork2.ActionSupport;import org.apache.struts2.ServletActionContext;@SuppressWarnings("serial")public class LoginAction extends ActionSupport {private String name;private String password;public String getName() {return name;}public void setName(String name) { = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String forward() throws Exception {return SUCCESS;}//重载ActionSupport中的execute()方法public String execute() throws Exception {//验证输入的Name是否为"name",是则返回"success"否则返回"input"if("name".equals(name)) {HttpSession session = ServletActionContext.getRequest().getSession();session.setAttribute("name", name);return SUCCESS;} else {return INPUT;}}}4.在工程的WebRoot目录下创建login.jsp,代码如下:<%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib prefix="s"uri="/struts-tags"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> <title>Login</title></head><body><!-- 创建一个登陆表单 --><s:url action="login"id="loginUrl"></s:url><s:form action="%{loginUrl}"method="post"><s:textfield label="Name"name="name"/><s:password label="Password"name="password"/><s:submit></s:submit></s:form></body></html>5.在工程的WebRoot目录下创建welcome.jsp,代码如下:<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@taglib prefix="s"uri="/struts-tags"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> <title>Welcome</title></head><body><h1>登陆成功</h1></body></html>现在就来验证一下我们的登陆页面吧,选择工具栏中的按钮,在弹出的对话框中单击project后的矩形选框,从下拉列表中选择你创建的工程,然后单击Add,从弹出的对话框中单击sever后的矩形选框,从下拉列表中选择tomcat7,单击Finish。

struts2教程(完全版)

struts2教程(完全版)

Yaio 4一、准备工作及实例 41.解压struts-2.1.6-all.zip 42.六个基本包 43.初识struts2配置文件 4(1).web.xml文件 4(2).struts.xml文件 4(3).struts.properties(参default.properties) 4 (4)struts-default.xml 5(5)其它配置文件 54.让MyEclipse提示xml信息 55.如何使用alt+/提示 56.实例 57.开启struts2自带的开发模式常量 78.vo传参模式 89.ModerDriven传参模式(不建议采用) 810.为什么要使用struts2代替struts1.x 9二、struts.xml配置及例程 91.配置文件的优先级 92.配置形式 93.package配置相关 104.分工合作include:指定多个配置文件 125.tomcat认证访问 126.初识拦截器 137.Action中的method属性 158.使用ForwardAction实现页面屏蔽。

178.使用default-Action配置统一访问 17小结Action 189.使用通配符 1810.使用0配置:ZERO Annotation 1911.Result配置详解 1912.异常处理 24三、在Action获取Scope对象 25方式一、与Servlet解耦合的非IOC方式 25方式二、与Servlet解耦合的IOC方式 27 方式三、与Servlet耦合的非IOC方式 27 方式四、与Servlet耦合的IOC方式 28四、OGNL与ValueStack(VS) 291.值栈入门 292.OGNL入门 313.普通方法访问 314.静态方法访问 315.默认类Math的访问 326.调用普通类的构造方法 327.集合对象初步 328.集合对象进阶 339.N语法top语法 3410.获取Stack Context中的信息 3511.总结$ # %的区别 3512.总结OGNL[重点] 35五、拦截器 361.概述strust2中的拦截器 362.自定义拦截器 37方式一,实现Interceptor接口。

struts2

struts2

/topic/128973struts2表单标签1、struts资源文件中文解决方法在命令行中输入以下命令native2ascii -encoding gb2312 ApplicationResources.properties ApplicationResourcesgbk.properties第一个文件为资源文件,第二个为新生成的文件,将新生成的文件拷入工程就可以了2、开发struts2流程1.创建web工程2.拷贝commons-fileupload-1.2.1.jar,commons-logging-1.0.4.jar,freemarker-2.3.13.jar,ognl-2.6.11.jar,struts2-core-2.1.6.jar,xwork-2.1.2.jar,放入web-inf--lib中3.在web.xml文件中添加struts2的核心Filter,过滤客户端发送过来的请求,代码如下<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>org.apache.struts2.dispatcher.FilterDispatcher为struts2中提供的一个控制器4.创建struts.xml文件,放在src目录下.代码如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""/dtds/struts-2.0.dtd"><struts><package name="strutsqs" extends="struts-default"></package></struts>5.在src目录下创建一个类,创建几个属性及对应的get,set方法6.创建public String execute() throws Exception方法,7.在struts.xml文件中添加如下代码:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""/dtds/struts-2.0.dtd"><struts><package name="strutsqs" extends="struts-default"><action name="login" class="ers.action.LoginAction"><result name="success">/Main.jsp</result><result name="failed">/Login.jsp</result></action></package></struts>3、创建拦截器:1.创建类继承AbstractInterceptor,覆盖intercept方法,代码如下public String intercept(ActionInvocation invocation) throws Exception {LoginAction action=(LoginAction)invocation.getAction();String result=invocation.invoke();return null;}2.在struts.xml文件中配置如下<package name="strutsqs" extends="struts-default"><interceptors><interceptor name="myInterceptor" class="ers.interceptor.LoginInterceptor"> <param name="name">简单拦截器</param></interceptor></interceptors><action name="login" class="ers.action.LoginAction"><result name="success">/Main.jsp</result><result name="failed">/Login.jsp</result><result name="input">/Login.jsp</result><interceptor-ref name="myInterceptor"></interceptor-ref></action></package>也可以创建拦截器栈<interceptors><interceptor name="myinterceptor1"class="com.haitian.bbs.interceptor.MyInterceptor"></interceptor> <interceptor name="myinterceptor2"class="com.haitian.bbs.interceptor.MyInterceptor2"></interceptor> <interceptor-stack name="stack1"><interceptor-ref name="myinterceptor2"></interceptor-ref><interceptor-ref name="myinterceptor1"></interceptor-ref><interceptor-ref name="defaultStack"></interceptor-ref></interceptor-stack></interceptors>4.标签中引用资源文件内容<s:textfield name="age" key="regist.age" value="%{getText('regist.password')}"></s:textfield><s:select list=”#{‘1’:getText(‘sex.man’),’0’:getText(‘sex.women’)}”<s:text name=”bel”/>5.创建资源文件在src下创建messageResource_zh_CN.properties文件在src下创建struts.properties文件,添加struts.custom.i18n.resources=messageResource_zh_CN 6.Action中访问servlet APIActionContext ctx=ActionContext.getContext();ctx.getApplication()获得application对象ctx.put(“”,””);//相当于request.setAttribute(“”,””);ctx.getSession()//获得session对象get(Object key);//类似于调用HttpServletRequest的getAttribute(String name);方法Map getApplication();返回一个Map对象,该对象模拟了应该的ServletContext实例Map getSession();返回一个Map对象,该Map对象模拟了HttmpSession实例Map getParameters();获取所有的请求参数,类似于调用HttpServletRequest对象的getParameterMap方法Void setSession(Map session);直接传入一个Map实例,将实例里的key-value对转换成session的属性名\属性值HttpServletRequest request=ServletActionContext.getRequest();7.Action访问资源文件Action 继承ActionSupport调用this.getText(“ername”);Jsp访问资源文件<s:text name=”bel”/>8.资源文件_各国代码资源文件命名格式:baseName_language_country.propertiesLocale[] localeList=Locale.getAvailableLocales();for(int i=0;i<localeList.length;i++){System.out.println(localeList[i].getDisplayCountry()+”=”+localeList[i].getCountry()+””+localeList[i ].getDisplayLanguage()+”=”+localeList[i].getLanguage());}9.将struts.xml分开在struts.xml中添加如下代码,将其它配置文件导入<struts><include file=”struts-part1.xml”/>..</struts>被包含的配置文件是标准的struts2配置文件,一样包含dtd 信息、strut2配置文件的根元素,此时struts.xml文件中不能再定义action10全局结果result<global-results><result name="">/te.jsp</result></global-results>11模型驱动1创建一个JavaBean,生成setter,getter方法2创建action类实现ModelDriven接口12.创建拦截器1创建类继承AbstractInterceptor,覆盖intercept(ActionInvocation invocation)方法2. ActionContext ac=arg0.getInvocationContext();Map session=ac.getSession();获得session对象Object obj=session.get(“CURRENTUSERBEAN”);//获得session中是否存在此对象If(obj==null)没有登陆过Return “login”;ElseReturn invocation.invoke();3.LoginAction la=(LoginAction)invocation.getAction();获得被拦截的Action 实例4.String result=invocation.invoke();调用execute方法,将拦截方法返回的字符串做为拦截器的返回值或者返回其它字符串,此字符串与struts.xml文件中的result标签中的结果对应。

基于Struts2框架的数据库分页组件的设计与实现

基于Struts2框架的数据库分页组件的设计与实现
的整合 L1 . 2
Pg g e i 和 P g g A ai Sr c n ve ai D O联合构成 了处理分 n
页逻辑 的模 型 ,aig en是 用 来 保 存 分 页信 息 PgnBa
的实体, b n 是用 于数据库连接的组件 . DC n o 在实 际项 目中数据 库 的连接 参数 以及 分 页用 的每页 显
入 了 o L表 达式 和值 站 的概 念 , 以使 开 发 者 GN 可 使用 简单 的代 码 实 现 复 杂 的 数 据 访 问 . ti Ac n实 o
现类就是一个标准的 Jv 类 , aa 这使得测试工作变
得 简单 . 同时 Srt t s 架 取 消 了 Aco F r 支 u 2框 i n om, t 持 多种返 回类 型和 Aa ix技术 , 简化 了 同其 他 技 术
的分页机能 的开发效率 , 细论述了基于 Srt 详 t s u 2框架 的数据库分页组件设计 与实 现流程 , 最后论述 了在项 目 开发 中使用此分 页组件 的方法 .
关 键 词 :Srt 框 架 ; 据 库 ; 页 组 件 ; t s u2 数 分 MVC 文 献 标 识 码 :A 中 图分 类号 :T 1 P 31
第2 卷第3 2 期
2 1 0 0年 6月
沈 阳
大 学 学 报
Vo . 2. . 1 2 No 3
J OURNAL S NYANG OF HE UNI VERS TY I
J n. 20 10 u
文章 编 号 : 10 —2 5 2 1 )30 2 —3 0 89 2 (0 00 —0 1 0




学 报
第2 2卷
2 2 基 于 S rt . t s 架的数 据库分 页组件 的 实现 u 2框
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

struts2自定义分页标签至今一直在从事web开发,现在有个项目用struts2搭建的,做web嘛,分页是必须的,琢磨着写个通用分页标签一劳永逸,也在参考看了下他人写的,加上自己的一些理解,终于搞定,拿出来分享下,好了,费话不多说,coding开始:1:在WebRoot\WEB-INF下new一个tld标签文件:pageTag.tld<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN""/dtd/web-jsptaglibrary_1_2.dtd"><taglib><tlib-version>1.0</tlib-version><jsp-version>1.2</jsp-version><short-name>page_tags</short-name><uri>/page_tags</uri><display-name>"Pages Tags"</display-name><tag><name>pages</name><tag-class>com.page.PageTag</tag-class><attribute><!-- 当前页号--><name>pageNo</name><!-- 属性是否为必要的--><required>true</required><!-- 属性值是否动态产生--><rtexprvalue>true</rtexprvalue><!-- 属性的数据类型--><type>int</type></attribute><attribute><!-- 总记录数--><name>recordCount</name><required>true</required><rtexprvalue>true</rtexprvalue><type>int</type></attribute><attribute><!-- 每页显示多少条--><name>pageSize</name><required>true</required><rtexprvalue>true</rtexprvalue><type>int</type></attribute><attribute><!-- 跳转的Url --><name>url</name><required>true</required><rtexprvalue>true</rtexprvalue><type>ng.String</type></attribute></tag></taglib>2:new一个PageTag类继承TagSupport PageTag.javapackage com.page;import java.io.IOException;import java.util.Enumeration;import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.TagSupport; public class PageTag extends TagSupport{ /****/private static final long serialVersionUID = 1L;private int pageNo;private int recordCount;private int pageSize;private String url;@Overridepublic int doStartTag() throws JspException {// TODO Auto-generated method stubint pageCount = (this.recordCount+this.pageSize-1)/this.pageSize;StringBuilder sb = new StringBuilder();sb.append("<div class='cutpage' >");if(this.recordCount != 0){if(this.pageNo > pageCount){this.pageNo = pageCount;}if(this.pageNo < 1){this.pageNo = 1;}HttpServletRequest request = (HttpServletRequest)this.pageContext.getRequest();Enumeration e = request.getParameterNames();String name = null;String value = null;while (e.hasMoreElements()) {name = (String) e.nextElement();value = request.getParameter(name);if(name.equals("page")){if(value != null && !"".equals(value)){this.pageNo = Integer.parseInt(value);}else{sb.append("<input type='hidden'name=\"").append(name).append("\" value=\"").append(value).append("\"/>");}}}if(this.pageNo==1){sb.append("<a><span>上一页</span></a>");}else{sb.append("<a href='"+this.url+"?page ="+(this.pageNo-1)+"'><span>上一页</span></a>");}int start = 1;if(this.pageNo > 4){start = this.pageNo - 1;sb.append("<a href='"+this.url+"?page =1'><span>1</span></a>");sb.append("<a href='"+this.url+"?page =2'><span>2</span></a>");sb.append("...");}int end = this.pageNo + 1;if (end > pageCount) {end = pageCount;}for (int i = start; i <= end; i++) {if (this.pageNo == i){sb.append("<a href='javascript:void(0);'class=\"current\">").append("<span>"+i+"</span>").append("</a>");}else{sb.append("<ahref='"+this.url+"?page="+i+"'>").append("<span>"+i+"</span>").append("</a> ");}}if (end < pageCount - 2) {sb.append("...");}if (end < pageCount - 1) {sb.append("<a href='"+this.url+"?page="+(pageCount -1)+"'>").append("<span>"+(pageCount - 1)+"</span></a>");}if (end < pageCount) {sb.append("<ahref='"+this.url+"?page="+pageCount+"'>").append("<span>"+pageCount+"</ span></a>");}if (this.pageNo == pageCount)sb.append("<a><span>下一页").append("</a></span>");else {sb.append("<ahref='"+this.url+"?page="+(this.pageNo+1)+"'><span>下一页</span></a>");}}sb.append("</div>");try {this.pageContext.getOut().println(sb.toString());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();return 0;}public void setPageNo(int pageNo) {this.pageNo = pageNo;}public int getRecordCount() {return recordCount;}public void setRecordCount(int recordCount) {this.recordCount = recordCount;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public void setUrl(String url) {this.url = url;}}3:Action里面package com.web;import java.util.List;import org.apache.struts2.ServletActionContext;import mon.DaoException;import com.dao.impl.TUserinfoDAOImpl;import erTypePage;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionSupport;public class UserTypePageAction extends ActionSupport{ /***/private static final long serialVersionUID = -18522325302568049L; private TUserinfoDAOImpl tuserinfoDAOImpl;private List<UserTypePage> ls;private int pageNo=1;private int pageSize = 6;private int recordCount;private String url;public String userTypeInfo(){try {......//逻辑就不写了} catch (DaoException e) {// TODO Auto-generated catch blocke.printStackTrace();}return Action.SUCCESS;}public TUserinfoDAOImpl getTuserinfoDAOImpl() {return tuserinfoDAOImpl;}public void setTuserinfoDAOImpl(TUserinfoDAOImpl tuserinfoDAOImpl) { this.tuserinfoDAOImpl = tuserinfoDAOImpl;}public void setUrl(String url) {this.url = url;}public String getUrl() {return url;}public void setLs(List<UserTypePage> ls) {this.ls = ls;}public List<UserTypePage> getLs() {return ls;}public void setPageNo(int pageNo) {this.pageNo = pageNo;}public int getPageNo() {return pageNo;}public void setRecordCount(int recordCount) {this.recordCount = recordCount;}public int getRecordCount() {return recordCount;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public int getPageSize() {return pageSize;}}4.JSP页面头部导入标签文件<%@ taglib prefix="tag" uri="/page_tags" %>………………<!-- 引入分页标签--><div class="page_div"><tag:pages pageSize="${pageSize}" pageNo="${pageNo}"url="userHXPageAction.do" recordCount="${recordCount}"></tag:pages> </div><!-- 分页标签结束-->。

相关文档
最新文档