逻辑:前台jsp中的form,调用action中的add方法,action中通过定义和页面元素相同的私有变量(生成get、set方法可以拿到前台变量),然后调用dao中的hibernate保存
1、struts.xml
采用通配符配置
/test/addTestSucess.jsp
/test/searchTest.jsp
2、前台页面 addTest.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
html>
3、TestAction
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.bean.TestPortal;
import com.service.TestService;
import com.opensymphony.xwork2.ActionSupport;
/**
* 测试action
* @author anjl
*
*/
public class TestAction extends ActionSupport {
private static final long serialVersionUID = 1L;
@Autowired
private TestService testService;
private String a="";
private String b="";
private String c="";
/*private int page =1;
private String op;*/
private List
list;
public List
getList() { return list; } public void setList(List
list) { this.list = list; } public String getA() { return a; } public void setA(String a) { this.a = a; } public String getB() { return b; } public void setB(String b) { this.b = b; } public String getC() { return c; } public void setC(String c) { this.c = c; } public String add() { System.out.println("==add===="+getA()); TestPortal t = new TestPortal(getA(),getB(),getC()); testService.add(t); return "add_sucess"; } public String search(){ /*if(op!=null&&op.equals("first")){ page=1; }else if(op!=null&&op.equals("before")){ page = page-1; }else if(op!=null&&op.equals("after")){ page = page+1; }*/ System.out.println("==========search========="); list = testService.search(getA(), getB(), getC()); return "search_sucess"; } }
4、bean TestPortal 和数据表对应
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="testPortal")
public class TestPortal implements Serializable{
private static final long serialVersionUID = 1L;
public TestPortal(){
}
public TestPortal(String a,String b,String c){
this.a=a;
this.b=b;
this.c=c;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "id")
private Long id;
@Column(name = "a")
private String a;
@Column(name = "b")
private String b;
@Column(name = "c")
private String c;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
public String getC() {
return c;
}
public void setC(String c) {
this.c = c;
}
}
5、service层和dao层
主要是dao层,service没做处理 (1)、TestDaoImpl
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Repository;
import com.haier.bean.TestPortal;
import com.haier.dao.TestDao;
@Repository("testDao")
public class TestDaoImpl implements TestDao {
private HibernateTemplate hibernateTemplate;
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
@Resource
public void setHibernateTemplate(HibernateTemplate hibernateTemplat