1.这是我的jsp页面,首先有一个用hibernate从数据库中取出数据的操作,取完数据之后并对对应项删除:
<%@ 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" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1px">
<s:iterator value="#request.user"> //user 有三个属性
<tr>
<td><s:property value="id"/></td>
<td><s:property value="name"/></td>
<td><s:property value="phone"/></td>
<td><a href="userdelete?id=<s:property value='id'/>">删除</a></td>
</tr>
</s:iterator>
</table>
</body>
</html>
2.这是对应的deleteAction
package cn.hncj.action;
import org.apache.struts2.ServletActionContext;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import Bean.User;
public class userDeleteAction extends ActionSupport implements ModelDriven<User> {
private User user= new User();
public User getModel() {
return user;
}
public String execute() throws Exception {
Configuration config =new Configuration().configure();
SessionFactory sessionFactory =config.buildSessionFactory();
Session session=sessionFactory.openSession();
Transaction t =session.beginTransaction();
//利用getgetParameter("id")方法,网上说还有其它new id然后设置getter和setter的方法,我也试了,没成功
String id=ServletActionContext.getRequest().getParameter("id");
int a=Integer.parseInt(id);System.out.println(id+"HAHAH"); //测试id有没有被赋值
User u = (User) session.get(User.class, a);
session.delete(u);
t.commit();
session.close();
sessionFactory.close();
return SUCCESS;
}
}