JSP + TAG 实现分页(Tomcat 9)

=========java文件

package org.rain.tag;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.PageContext;

import javax.servlet.jsp.tagext.SimpleTagSupport;

public class SmallRainJSPInTag extends SimpleTagSupport {

private Integer smallRainTotals;

private Integer smallRainTotalPages;

private Integer smallRainCounts = 10;

private String uri;

private String parameterName;

public String getParameterName() {

return parameterName;

}

public void setParameterName(String parameterName) {

this.parameterName = parameterName;

}

public Integer getSmallRainTotals() {

return smallRainTotals;

}

public void setSmallRainTotals(Integer smallRainTotals) {

this.smallRainTotals = smallRainTotals;

}

public Integer getSmallRainCounts() {

return smallRainCounts;

}

public void setSmallRainCounts(Integer smallRainCounts) {

this.smallRainCounts = smallRainCounts;

}

public String getUri() {

return uri;

}

public void setUri(String uri) {

this.uri = uri;

}

@Override

public void doTag() throws JspException, IOException {

smallRainTotalPages = smallRainTotals / smallRainCounts+1;

int doPageId=1;

PageContext pageContext = (PageContext) getJspContext();

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

String smallRainParameter=request.getParameter(parameterName);

if(null!=smallRainParameter) {

try {

doPageId=Integer.parseInt(smallRainParameter);

}catch(Exception e) {

doPageId=1;

}

}

StringBuilder smallRainSB = new StringBuilder();

if (doPageId > 1) {

smallRainSB.append(" 上一页 ");

}

for (int i = 1; i <= smallRainTotalPages; i++) {

if (i == doPageId) {

smallRainSB.append(i);

} else {

smallRainSB.append(" " + i + " ");

}

}

if (doPageId < smallRainTotalPages) {

smallRainSB.append(" 下一页 ");

}

getJspContext().getOut().write(smallRainSB.toString().toCharArray());

}

}

=================tld文件,文件放在/WEB-INF/tld/rain.tld

1.0

1.2

rain

rainbeanInPage

org.rain.tag.SmallRainJSPInTag

empty

smallRainTotals

true

false

parameterName

true

false

smallRainCounts

true

false

uri

true

false

==================web.xml

xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"

version="4.0">

/web-rain/welcome.tld

/WEB-INF/tld/rain.tld

============jsp文件,文件名为MulPageSystemTag.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ taglib uri="/web-rain/welcome.tld" prefix="rain"%>

<%@ page import="java.util.List,java.util.ArrayList"%>

<%!class PageSystemBean {

private String school;

private String home;

public String getSchool() {

return school;

}

public void setSchool(String school) {

this.school = school;

}

public String getHome() {

return home;

}

public void setHome(String home) {

this.home = home;

}

}

List smallRainPageBeans;

@Override

public void jspInit() {

int smallRainTotalRecord = 142;

smallRainPageBeans = new ArrayList(smallRainTotalRecord);

for (int i = 0; i < smallRainTotalRecord; i++) {

PageSystemBean bean = new PageSystemBean();

bean.setSchool("大学" + i);

bean.setHome("地址" + i);

smallRainPageBeans.add(i, bean);

}

}%>

<%

int smallRainSize = 10;

int smallRainCurrent = 1;

String smallRainpage = request.getParameter("smallRainpage");

if (smallRainpage != null) {

smallRainCurrent = Integer.parseInt(smallRainpage);

}

int smallRainDo = (smallRainCurrent - 1) * smallRainSize;

int totalPageBeans = smallRainPageBeans.size();

int totalPages = totalPageBeans / smallRainSize;

totalPages++;

List smallRainCurrentPageBeans;

if (totalPages == smallRainCurrent) {

smallRainCurrentPageBeans = smallRainPageBeans.subList(smallRainDo, totalPageBeans);

} else {

smallRainCurrentPageBeans = smallRainPageBeans.subList(smallRainDo, smallRainDo + smallRainSize);

}

%>

晓雨 JSP + TAG实现分页

晓雨 JSP + TAG实现分页

<%

int backColor = 0;

for (PageSystemBean smallRainPageBean : smallRainCurrentPageBeans) {

backColor++;

if (backColor % 2 == 0) {

%>

<%

} else {

%>

<%

}

%>

<%

}

%>

学校 地址
<%=smallRainPageBean.getSchool()%> <%=smallRainPageBean.getHome()%>

parameterName="smallRainpage"

uri="MulPageSystemTag.jsp?smallRainpage=" smallRainCounts="10" />

你可能感兴趣的:(java,java-ee,tomcat,前端,jsp)