structs +hibernate 通过Action 将前台数据存入数据库 , 表单提交(一)

2014-11-24 03:13:54 · 作者: · 浏览: 2
逻辑:前台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"%>





  
a: b:
c:
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