旅游网站设计方案怎么做,网站seo外包,ai设计logo免费网站,萧山网站建设公司Spring MVC分页示例
分页用于在不同部分显示大量记录。在这种情况下#xff0c;我们将在一页中显示10、20或50条记录。对于其余记录#xff0c;我们提供链接。
我们可以在Spring MVC中简单地创建分页示例。在此分页示例中#xff0c;我们使用MySQL数据库来获取记录。
创建…Spring MVC分页示例
分页用于在不同部分显示大量记录。在这种情况下我们将在一页中显示10、20或50条记录。对于其余记录我们提供链接。
我们可以在Spring MVC中简单地创建分页示例。在此分页示例中我们使用MySQL数据库来获取记录。
创建表或导入SQL文件
在这里我们已经在测试数据库中创建了 emp表。 emp表具有三个字段: ID名称和薪水。创建表并手动插入记录或导入我们的SQL文件。
Spring MVC分页示例
1、将依赖项添加到pom.xml文件。
pom.xml
示例 !-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --
dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.1.1.RELEASE/version
/dependency
!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper --
dependencygroupIdorg.apache.tomcat/groupIdartifactIdtomcat-jasper/artifactIdversion9.0.12/version
/dependency!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --
dependency groupIdjavax.servlet/groupId artifactIdservlet-api/artifactId version3.0-alpha-1/version
/dependency
!-- https://mvnrepository.com/artifact/javax.servlet/jstl --
dependencygroupIdjavax.servlet/groupIdartifactIdjstl/artifactIdversion1.2/version
/dependency!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.11/version
/dependency!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --
dependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.1.1.RELEASE/version
/dependency
2、创建bean类
在这里bean类包含对应于数据库中存在的字段的变量(以及setter和getter方法)。
Emp.java
示例
package com.nhooo.beans; public class Emp {
private int id;
private String name;
private float salary; public int getId() { return id;
}
public void setId(int id) { this.id id;
}
public String getName() { return name;
}
public void setName(String name) { this.name name;
}
public float getSalary() { return salary;
}
public void setSalary(float salary) { this.salary salary;
} }
3、创建控制器类
在控制器类中 PathVariable 批注将方法参数与临时URL绑定在一起。例如:
示例
RequestMapping(value/viewemp/{pageid})
在此处{}括号包含临时值。
EmpController.java
示例
package com.nhooo.controllers;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import com.nhooo.beans.Emp;
import com.nhooo.dao.EmpDao;
Controller
public class EmpController { Autowired EmpDao dao; RequestMapping(value/viewemp/{pageid}) public String edit(PathVariable int pageid,Model m){ int total5; if(pageid1){} else{ pageid(pageid-1)*total1; } System.out.println(pageid);ListEmp listdao.getEmployeesByPage(pageid,total); m.addAttribute(msg, list);return viewemp; }
}
4、创建DAO类
让我们创建一个DAO类以访问数据库中所需的数据。
EmpDao.java
示例
package com.nhooo.dao; import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import com.nhooo.beans.Emp; public class EmpDao {
JdbcTemplate template; public void setTemplate(JdbcTemplate template) { this.template template;
} public ListEmp getEmployeesByPage(int pageid,int total){ String sqlselect * from emp limit (pageid-1),total; return template.query(sql,new RowMapperEmp(){ public Emp mapRow(ResultSet rs, int row) throws SQLException { Emp enew Emp(); e.setId(rs.getInt(1)); e.setName(rs.getString(2)); e.setSalary(rs.getfloat(3)); return e; } });
}
}
5、在web.xml文件中提供控制器的条目
web.xml
示例
?xml version1.0 encodingUTF-8?
web-app xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://java.sun.com/xml/ns/javaee xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd idWebApp_ID version3.0display-nameSpringMVC/display-nameservlet servlet-namespring/servlet-name servlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class load-on-startup1/load-on-startup
/servlet
servlet-mapping servlet-namespring/servlet-name url-pattern//url-pattern
/servlet-mapping
/web-app
6、在xml文件中定义Bean
spring-servlet.xml
示例
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvcxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd
context:component-scan base-packagecom.nhooo.controllers/context:component-scan bean classorg.springframework.web.servlet.view.InternalResourceViewResolver
property nameprefix value/WEB-INF/jsp//property
property namesuffix value.jsp/property
/bean bean idds classorg.springframework.jdbc.datasource.DriverManagerDataSource
property namedriverClassName valuecom.mysql.jdbc.Driver/property
property nameurl valuejdbc:mysql://localhost:3306/test/property
property nameusername value/property
property namepassword value/property
/bean bean idjt classorg.springframework.jdbc.core.JdbcTemplate
property namedataSource refds/property
/bean bean iddao classcom.nhooo.dao.EmpDao
property nametemplate refjt/property
/bean
/beans
7、创建请求的页面
index.jsp
示例
!DOCTYPE html
html
body
a hrefviewemp/1View Employees/a
/body
/html
8、创建视图组件
viewemp.jsp
示例
% taglib urihttp://java.sun.com/jsp/jstl/core prefixc%
!DOCTYPE html public -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd
html
body
h1Employees List/h1
table border2 width70% cellpadding2
trthId/ththName/ththSalary/th/tr c:forEach varemp items${msg} tr td${emp.id}/td td${emp.name}/td td${emp.salary}/td /tr /c:forEach /table br/ a href/SpringMVCPaginationExample/viewemp/11/a a href/SpringMVCPaginationExample/viewemp/22/a a href/SpringMVCPaginationExample/viewemp/33/a
/body
/html
输出: