使用Struts2实现分页显示

在开发web程序时,从数据库中取出来的数据一般都要分页显示在页面上,分页显示的方法非常多,有人写自定义标签,用自己写的标签进行分页显示,我个人觉得这是一种比较好的方法。下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库中查询出来并进行了封装的那些对象,然后通过Struts2的标签遍历List里的每个对象,并把这些对象里所包含的属性取出来展现在页面上。下面是具体的步骤:

所用工具:JDK1.6 + MyEclipse6.0 + Tomcat6.0 + MySQL5.0 + struts 2.0.11

1、新建一个web工程,导入struts2中相应的jar包和mysql数据驱动包。

2、编写web.xml文件,其代码如下:

Xml代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
  5.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  6.   
  7.     <filter>  
  8.         <filter-name>struts2</filter-name>  
  9.         <filter-class>  
  10.             org.apache.struts2.dispatcher.FilterDispatcher   
  11.         </filter-class>  
  12.     </filter>  
  13.     <filter-mapping>  
  14.         <filter-name>struts2</filter-name>  
  15.         <url-pattern>/*</url-pattern>  
  16.     </filter-mapping>  
  17.     <welcome-file-list>  
  18.         <welcome-file>index.jsp</welcome-file>  
  19.     </welcome-file-list>  
  20. </web-app>  
<?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">

	<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>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

3、建一个数据库表,用于保存学员信息:

Sql代码 复制代码
  1. drop database if exists page;   
  2. create database page ;   
  3. use page;   
  4. create table student (   
  5.    stu_id integer auto_increment,   
  6.    stuName varchar(30) not null,   
  7.    address varchar(50) not null,   
  8.    stuPhone varchar(15)not null,   
  9.    primary key(stu_id)   
  10. );   
  11.   
  12. insert into student(stuName,address,stuPhone) values('杨华林','长沙','13787825190');   
  13. insert into student(stuName,address,stuPhone) values('李明清','天津','13787525190');   
  14. insert into student(stuName,address,stuPhone) values('李小华','大连','13788451190');   
  15. insert into student(stuName,address,stuPhone) values('郑小明','苏州','13787052188');   
  16. insert into student(stuName,address,stuPhone) values('杨一新','西安','13787851190');   
  17. insert into student(stuName,address,stuPhone) values('王新任','广州','13787056460');   
  18. insert into student(stuName,address,stuPhone) values('谢小华','深圳','13787075550');   
  19. insert into student(stuName,address,stuPhone) values('王建明','厦门','13788853690');   
  20. insert into student(stuName,address,stuPhone) values('秦一生','北京','13788689236');   
  21. insert into student(stuName,address,stuPhone) values('田翠林','杭州','13787655150');   
  22. insert into student(stuName,address,stuPhone) values('陈小明','广州','13787623668');  
drop database if exists page;
create database page ;
use page;
create table student (
   stu_id integer auto_increment,
   stuName varchar(30) not null,
   address varchar(50) not null,
   stuPhone varchar(15)not null,
   primary key(stu_id)
);

insert into student(stuName,address,stuPhone) values('杨华林','长沙','13787825190');
insert into student(stuName,address,stuPhone) values('李明清','天津','13787525190');
insert into student(stuName,address,stuPhone) values('李小华','大连','13788451190');
insert into student(stuName,address,stuPhone) values('郑小明','苏州','13787052188');
insert into student(stuName,address,stuPhone) values('杨一新','西安','13787851190');
insert into student(stuName,address,stuPhone) values('王新任','广州','13787056460');
insert into student(stuName,address,stuPhone) values('谢小华','深圳','13787075550');
insert into student(stuName,address,stuPhone) values('王建明','厦门','13788853690');
insert into student(stuName,address,stuPhone) values('秦一生','北京','13788689236');
insert into student(stuName,address,stuPhone) values('田翠林','杭州','13787655150');
insert into student(stuName,address,stuPhone) values('陈小明','广州','13787623668');

4、编写PageDAO类,该类用于从数据库中取出所有的学员信息,把这些学员信息封装成一个Student对象并将
   其放入List中。

Java代码 复制代码
  1. package org.hnylj.util;   
  2.   
  3. import java.sql.Connection;   
  4. import java.sql.DriverManager;   
  5. import java.sql.PreparedStatement;   
  6. import java.sql.ResultSet;   
  7. import java.sql.SQLException;   
  8. import java.util.ArrayList;   
  9. import java.util.List;   
  10.   
  11. public class PageDAO {   
  12.     private Connection conn ;   
  13.     private PreparedStatement pstmt ;   
  14.     private ResultSet rs ;   
  15.     private static final String DRIVER = "com.mysql.jdbc.Driver" ;   
  16.     private static final String URL = "jdbc:mysql://localhost:3306/page" ;   
  17.     private static final String USERNAME = "root" ;   
  18.     private static final String PASSWORD = "123" ;   
  19.        
  20.     private Student student ;   
  21.        
  22.     //数据库连接   
  23.     public synchronized Connection getConnection () {   
  24.         try {   
  25.             Class.forName (DRIVER) ;   
  26.             conn = DriverManager.getConnection (URL,USERNAME,PASSWORD) ;   
  27.         } catch (ClassNotFoundException e) {   
  28.             e.printStackTrace () ;   
  29.             return null ;   
  30.         } catch (SQLException e) {   
  31.             e.printStackTrace () ;   
  32.             return null ;   
  33.         }    
  34.         return conn ;   
  35.     }   
  36.      
  37.   //分页查询   
  38.   public List<Student> queryByPage (int pageSize, int pageNow) {   
  39.     List<Student> list = new ArrayList<Student> () ;   
  40.     try {   
  41.       if (this.getConnection()!=null && pageSize>0 && pageNow>0) {   
  42.           pstmt = this.getConnection().prepareStatement(   
  43.             "select * from student order by stu_id limit "+(pageNow*pageSize-pageSize)+","+pageSize   
  44.           );   
  45.           rs = pstmt.executeQuery () ;   
  46.              
  47.           while (rs.next()) {   
  48.               student = new Student () ;   
  49.               student.setStu_id (rs.getInt(1)) ;   
  50.               student.setStuName (rs.getString(2)) ;   
  51.               student.setAddress (rs.getString(3)) ;   
  52.               student.setStuPhone (rs.getString(4)) ;   
  53.               list.add (student) ;   
  54.           }   
  55.       }   
  56.     } catch(SQLException e) {   
  57.         e.printStackTrace() ;   
  58.     }   
  59.     return list ;   
  60.   }   
  61. }  
package org.hnylj.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class PageDAO {
	private Connection conn ;
	private PreparedStatement pstmt ;
	private ResultSet rs ;
	private static final String DRIVER = "com.mysql.jdbc.Driver" ;
	private static final String URL = "jdbc:mysql://localhost:3306/page" ;
	private static final String USERNAME = "root" ;
	private static final String PASSWORD = "123" ;
	
	private Student student ;
	
	//数据库连接
	public synchronized Connection getConnection () {
		try {
			Class.forName (DRIVER) ;
			conn = DriverManager.getConnection (URL,USERNAME,PASSWORD) ;
		} catch (ClassNotFoundException e) {
			e.printStackTrace () ;
			return null ;
		} catch (SQLException e) {
			e.printStackTrace () ;
			return null ;
		} 
		return conn ;
	}
  
  //分页查询
  public List<Student> queryByPage (int pageSize, int pageNow) {
  	List<Student> list = new ArrayList<Student> () ;
  	try {
  	  if (this.getConnection()!=null && pageSize>0 && pageNow>0) {
  		  pstmt = this.getConnection().prepareStatement(
  		    "select * from student order by stu_id limit "+(pageNow*pageSize-pageSize)+","+pageSize
  		  );
  		  rs = pstmt.executeQuery () ;
  		  
  		  while (rs.next()) {
  			  student = new Student () ;
  			  student.setStu_id (rs.getInt(1)) ;
  			  student.setStuName (rs.getString(2)) ;
  			  student.setAddress (rs.getString(3)) ;
  			  student.setStuPhone (rs.getString(4)) ;
  			  list.add (student) ;
  		  }
  	  }
  	} catch(SQLException e) {
  		e.printStackTrace() ;
  	}
  	return list ;
  }
}

5、由于要对数据库中的学员信息进行封装,所以需要编写一个JavaBean,即Student类:

Java代码 复制代码
  1. package org.hnylj.util;   
  2.   
  3. public class Student {   
  4.     private int stu_id ;   
  5.     private String stuName ;   
  6.     private String address ;   
  7.     private String stuPhone ;   
  8.        
  9.     public Student () {   
  10.     }   
  11.        
  12.     public int getStu_id () {   
  13.         return stu_id ;   
  14.     }   
  15.        
  16.     public void setStu_id (int stu_id) {   
  17.         this.stu_id = stu_id ;   
  18.     }   
  19.        
  20.     public String getStuName () {   
  21.         return stuName ;   
  22.     }   
  23.        
  24.     public void setStuName (String stuName) {   
  25.         this.stuName = stuName ;   
  26.     }   
  27.        
  28.     public String getAddress () {   
  29.         return address ;   
  30.     }   
  31.        
  32.     public void setAddress (String address) {   
  33.         this.address = address ;   
  34.     }   
  35.        
  36.     public String getStuPhone () {   
  37.         return stuPhone ;   
  38.     }   
  39.        
  40.     public void setStuPhone (String stuPhone) {   
  41.         this.stuPhone = stuPhone ;   
  42.     }   
  43. }  
package org.hnylj.util;

public class Student {
	private int stu_id ;
	private String stuName ;
	private String address ;
	private String stuPhone ;
	
	public Student () {
	}
	
	public int getStu_id () {
		return stu_id ;
	}
	
	public void setStu_id (int stu_id) {
		this.stu_id = stu_id ;
	}
	
	public String getStuName () {
		return stuName ;
	}
	
	public void setStuName (String stuName) {
		this.stuName = stuName ;
	}
	
	public String getAddress () {
		return address ;
	}
	
	public void setAddress (String address) {
		this.address = address ;
	}
	
	public String getStuPhone () {
		return stuPhone ;
	}
	
	public void setStuPhone (String stuPhone) {
		this.stuPhone = stuPhone ;
	}
}

至此底层的代码就写好了。接下来我们需要编写web层的代码。

6、编写web层的jsp文件,分别有index.jsp,show.jsp和error.jsp,其代码分别如下:

Java代码 复制代码
  1. <%@ page language="java" pageEncoding="UTF-8"%>   
  2. <%@ taglib uri="/struts-tags" prefix="s"%>   
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
  5. <html>   
  6.     <head>   
  7.         <title>Struts2实现分页显示</title>   
  8.     </head>   
  9.     <body>   
  10.        <div align="center">   
  11.           <s:a href="show.action">进入查看学员列表</s:a>   
  12.        </div>   
  13.     </body>   
  14. </html>  
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>Struts2实现分页显示</title>
	</head>
	<body>
	   <div align="center">
	      <s:a href="show.action">进入查看学员列表</s:a>
	   </div>
	</body>
</html>
Java代码 复制代码
  1. <%@ page language="java" pageEncoding="UTF-8"%>   
  2. <%@ taglib uri="/struts-tags" prefix="s"%>   
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
  5. <html>   
  6.   <head>   
  7.     <title>Struts2实现分页显示</title>   
  8.   </head>   
  9.   <body>   
  10.   <div align="center">   
  11.   <table border="1">   
  12.     <tr>   
  13.        <th>学号</th>   
  14.        <th>姓名</th>   
  15.        <th>地址</th>   
  16.        <th>电话</th>   
  17.     </tr>   
  18.     <s:iterator value="students">   
  19.        <tr>   
  20.           <td><s:property value="stu_id"/></td>   
  21.           <td><s:property value="stuName"/></td>   
  22.           <td><s:property value="address"/></td>   
  23.           <td><s:property value="stuPhone"/></td>   
  24.        </tr>   
  25.     </s:iterator>   
  26.   </table>   
  27.      <s:url id="url_pre" value="show.action">   
  28.          <s:param name="pageNow" value="pageNow-1"></s:param>   
  29.      </s:url>   
  30.   
  31.      <s:url id="url_next" value="show.action">   
  32.          <s:param name="pageNow" value="pageNow+1"></s:param>   
  33.      </s:url>     
  34.   
  35.      <s:a href="%{url_pre}">上一页</s:a>   
  36.         
  37.      <s:iterator value="students" status="status">   
  38.         <s:url id="url" value="show.action">   
  39.             <s:param name="pageNow" value="pageNow"/>   
  40.         </s:url>   
  41.      </s:iterator>   
  42.   
  43.      <s:a href="%{url_next}">下一页</s:a>    
  44.   </div>   
  45.   </body>   
  46. </html>  
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Struts2实现分页显示</title>
  </head>
  <body>
  <div align="center">
  <table border="1">
    <tr>
	   <th>学号</th>
	   <th>姓名</th>
	   <th>地址</th>
	   <th>电话</th>
    </tr>
	<s:iterator value="students">
	   <tr>
	      <td><s:property value="stu_id"/></td>
	      <td><s:property value="stuName"/></td>
	      <td><s:property value="address"/></td>
	      <td><s:property value="stuPhone"/></td>
	   </tr>
	</s:iterator>
  </table>
     <s:url id="url_pre" value="show.action">
         <s:param name="pageNow" value="pageNow-1"></s:param>
     </s:url>

     <s:url id="url_next" value="show.action">
         <s:param name="pageNow" value="pageNow+1"></s:param>
     </s:url>  

     <s:a href="%{url_pre}">上一页</s:a>
     
     <s:iterator value="students" status="status">
        <s:url id="url" value="show.action">
            <s:param name="pageNow" value="pageNow"/>
        </s:url>
     </s:iterator>

     <s:a href="%{url_next}">下一页</s:a> 
  </div>
  </body>
</html>
Java代码 复制代码
  1. <%@ page language="java" pageEncoding="UTF-8"%>   
  2.   
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
  4. <html>   
  5.   <head>   
  6.     <title>发生错误</title>   
  7.   </head>   
  8.      
  9.   <body>   
  10.       业务逻辑发生异常,请稍候再试。。。。。。   
  11.   </body>   
  12. </html>  
<%@ page language="java" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>发生错误</title>
  </head>
  
  <body>
      业务逻辑发生异常,请稍候再试。。。。。。
  </body>
</html>

7、编写struts2的action来拦截用户的请求:

 

Java代码 复制代码
  1. package org.hnylj.web;   
  2.   
  3. import java.util.List;   
  4.   
  5. import org.hnylj.util.PageDAO;   
  6. import org.hnylj.util.Student;   
  7.   
  8. import com.opensymphony.xwork2.ActionSupport;   
  9.   
  10. public class ShowAction extends ActionSupport {   
  11.        
  12.     private List<Student> students ;   
  13.     private int pageNow = 1 ; //初始化为1,默认从第一页开始显示   
  14.     private int pageSize = 5 ; //每页显示5条记录   
  15.        
  16.     private PageDAO pageDAO = new PageDAO () ;   
  17.        
  18.     public List<Student> getStudents() {   
  19.         return students;   
  20.     }   
  21.   
  22.     public void setStudents(List<Student> students) {   
  23.         this.students = students;   
  24.     }   
  25.        
  26.     public int getPageNow() {   
  27.         return pageNow;   
  28.     }   
  29.   
  30.     public void setPageNow(int pageNow) {   
  31.         this.pageNow = pageNow;   
  32.     }   
  33.   
  34.     public int getPageSize() {   
  35.         return pageSize;   
  36.     }   
  37.   
  38.     public void setPageSize(int pageSize) {   
  39.         this.pageSize = pageSize;   
  40.     }   
  41.   
  42.     public String execute() throws Exception {   
  43.         students = pageDAO.queryByPage(pageSize, pageNow) ;   
  44.         return SUCCESS ;   
  45.     }   
  46. }  
package org.hnylj.web;

import java.util.List;

import org.hnylj.util.PageDAO;
import org.hnylj.util.Student;

import com.opensymphony.xwork2.ActionSupport;

public class ShowAction extends ActionSupport {
	
	private List<Student> students ;
	private int pageNow = 1 ; //初始化为1,默认从第一页开始显示
    private int pageSize = 5 ; //每页显示5条记录
    
	private PageDAO pageDAO = new PageDAO () ;
	
	public List<Student> getStudents() {
		return students;
	}

	public void setStudents(List<Student> students) {
		this.students = students;
	}
	
	public int getPageNow() {
		return pageNow;
	}

	public void setPageNow(int pageNow) {
		this.pageNow = pageNow;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public String execute() throws Exception {
		students = pageDAO.queryByPage(pageSize, pageNow) ;
		return SUCCESS ;
	}
}

8、配置struts.xml文件,即action和响应结果页面之间的映射:

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8" ?>   
  2. <!DOCTYPE struts PUBLIC   
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">   
  5.   
  6. <struts>   
  7.     <package name="struts2" namespace="/" extends="struts-default">   
  8.         <action name="show" class="org.hnylj.web.ShowAction">   
  9.             <result name="success">show.jsp</result>   
  10.             <result name="error">error.jsp</result>   
  11.         </action>   
  12.     </package>   
  13. </struts>  
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<package name="struts2" namespace="/" extends="struts-default">
		<action name="show" class="org.hnylj.web.ShowAction">
			<result name="success">show.jsp</result>
			<result name="error">error.jsp</result>
		</action>
	</package>
</struts>

至此所有的工作已经完成,接下来部署整个web工程到tomcat的webapps目录下,启动tomcat,在浏览器地址栏输入http://localhost:8080/项目名称/index.jsp,回车即可看到一个链接,点击该链接即可看到一个可以
进行上一页和下一页的学员信息列表。
该应用有一些不足之处,因为也是刚学struts2,打算以后有时间再完善一下,对于struts2大家是怎么分页的,希望能提供好的建议,一起学习,共同进步!

基于Struts2的数据库操作及简单分页 基于Struts2的数据库操作及简单分页,进行简单的登录和查询,修改 立即下载

相关推荐

struts2实现分页

struts2中循环标签的使用

struts2的分页,使用迭代器标签<s:iterator

第 / 页 &page=1" class="firstPage">  &page=" class="previousPage">  &page="> &page=">  &page=">  &page=1

jcroad的博客 3278

MyBatis+struts2分页

MyBatis增 删 改 查 struts2分页

struts2实现简单分页显示

在开发web程序时,从数据库中取出来的数据一般都要分页显示在页面上,分页显示的方法非常多,有人写自定义标签,用自己写的标签进行分页显示,我个人觉得这是一种比较好的方法。下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库

fygkchina的专栏 982

论文解析-sciPENN

用这2个CITE-seq共有的protein作为训练集,分别将他们特有的protein作为测试集,评估sciPENN对CITE-seq数据集中缺失的protein丰度预测准确度。来自Seurat 4 的PBMC数据集,样本被注射水疱性口炎病毒 (VSV) 载体 HIV 疫苗,数据集包含每个样本注射疫苗0天、3天、7天的CITE-seq数据。PBMCs作为训练集,MALT作为测试集,利用scRNA-seq测试17个蛋白质表达水平。Monocyte:随机取4个样本作为训练集,剩余4个样本作为测试集。

weixin_46065198的博客 1021

FPGA时序约束--实战篇(读懂Vivado时序报告)

本文将详细介绍如何读懂Vivado时序报告,包括报告的基本结构和如何分析报告。

mengzaishenqiu的博客 1万+

struts开发实践—分页的实现

--文章源自一位网友这篇文章是一个叫smilelily网友写的,昨天找自己的email记录找到了,他在csdn上有用户,文章源地址 http://dev.youkuaiyun.com/user/smilelily struts开发实践-分页的实现本案主要功能是完成数据集的分页显示。示例代码如下: 1.PageInfo类:定义分页信息。/******************program b

大肚翁的专栏 1576

QWEN 2.5模型结构解析与代码解读

对Qwen2.5大模型的代码进行研究

4362

SSH图片分页之<s:iterator>一行多列

">" width="140" height="165"/>

ITbasketplayer的专栏 2143

①电子产品拆解分析-暖手宝

电子产品拆解分析-暖手宝 ①按键三档调温暖手; ②长按进入氛围呼吸灯; ③安卓接口充电以及支持USB输出;

a6662580的博客 5294

YOLO26全网首发:CVPR2026 MixerCSeg | DEGConv方向引导边缘门控,破解细长裂缝检测难题

DEGConv通过方向先验嵌入、边缘增强卷积和动态门控三大机制,针对性解决了YOLO在处理裂缝类细长、多方向、低对比度目标时的特征提取不足问题,显著提升了裂缝检测的精度与鲁棒性。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1032

使用FreeMarker的宏来实现Struts2的分页显示

看到一些朋友在Struts2中,依然使用标签来实现分页显示,而在基于Struts2的开发中,可能很多朋友会采用FreeMarker模板来渲染表示层,那么对于采用FreeMarker进行渲染的页面来说,我在这里提出一种使用FreeMarker的宏来实现分页显示的作法,这种作法,我感觉更简单灵活。 貌似在网上也没找到类似的作法,所以,如果这种作法有什么隐患或性能问题,还请朋友们批评。 注:下面...

难得悠闲自得 162

基于LLM【M3】驱动的自动化攻击智能体AK(受控使用)

摘要:文章实测了基于大模型的目标驱动型云攻击智能体,展示攻击者仅需输入业务目标(如"窃取BigQuery数据")即可自动完成SSRF、令牌解析、数据导出等全链条攻击。研究发现:(1)攻击编排范式已从固定脚本升级为自适应路径;(2)传统基于IOC的防御与新型攻击存在结构性错位;(3)防御需转向元数据加固、跨服务行为序列检测和AI驱动的紫队演练。实验在授权靶场使用合成数据,验证了攻击智能体"监督者模型+专业执行组"的协作模式,强调防御体系需从单点检测升级为攻击链理解能力。

云上笛暮 307

使用Struts2实现分页显示(转)

a651944226的专栏 1573

开源模型应用落地-qwen模型小试-入门篇(二)

在windows环境下,使用transformer设置模型参数/System Prompt/历史对话

以微薄之力,予他人些许温暖. 3234

RuntimeError: The current installed version of g++ (4.8.5) is less than the mininum version CUDA解决方案

本文主要介绍了RuntimeError: The current installed version of g++ (4.8.5) is less than the mininum version CUDA解决方案,希望能对学习python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

使用struts2 hibernate spring整合实现新闻信息管理系统案例-实现新闻信息分页显示功能

实现新闻信息分页显示功能项目结构图 使用到jar包struts-2.5.10 、 hibernate-release-5.2.2.Final 、spring-framework-4.3.8.RELEASE-dist如何实现三个框架的整合我会在另外一个文章上面写,这篇文章主要是写一个分页显示新闻这个功能怎么实现的。那么就接下来走进正题吧。首先,我们需要根据页数去显示信息,那么我就在Cate

qq_37901911的博客 988

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Struts2+Hibernate 实现数据分页

Struts2+Hibernate 实现数据分页 1.用Hibernate实现分页技术: /** * 使用hql语句进行分页查询 * @param hql 需要查询的hql语句 * @param offset 第一条记录索引 * @param pageSize 每页需要显示的记录数 * @return 当前页的所有记录 */ @SuppressWarn

TKD03072010的专栏 6519

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

基于Jquery+Ajax+Json实现分页显示

1.后台action产生json数据。 List blackList = blackService.getBlackInfoList(mobileNum, gatewayid, startDate, endDate); int totalRows = blackList.size(); StringBuffer sb = new StringBuffer();          sb.app

夜凉如水 4万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

struts2 分页

public List getList(int pageSize, int pageNow) { //获取分页数据 List list = * ; //我用的sqlserver String sql = "select top 10 * from test where username like '%badpeas%' and id not in (select top 0 id from t

ku1989的专栏 1972

在JSP中使用Struts2标签分页 限制页码只显示10页 带分页算法 样式

之前做分页效果一直都是使用JS控制,后来觉得不方便也不好控制,就自己写了这个根据Struts2标签在JSP页面中控制页码显示的分页。 分页效果图: 废话不多说,直接上代码了: Java代码: [java] view plaincopyprint? package com.goldweb.action;    import org.apach

PR 1783

Struts2+JDBC分页

编写web.xml文件,其代码如下: <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

小郭书房 1061
上一篇: Struts2中实现自定义分页标签2
下一篇: Struts 2 假分页
anglela
博客等级 码龄19年 0粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值