博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
structs +hibernate 通过Action 将前台数据存入数据库 , 表单提交
阅读量:4114 次
发布时间:2019-05-25

本文共 5233 字,大约阅读时间需要 17 分钟。

逻辑:前台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:

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 hibernateTemplate) {  this.hibernateTemplate = hibernateTemplate; } @Override public void add(TestPortal t) {  Session session = this.getHibernateTemplate().getSessionFactory()    .getCurrentSession();  session.save(t); } @Override public List
search(String a, String b, String c) { Session session = this.getHibernateTemplate().getSessionFactory() .getCurrentSession(); StringBuffer hql = new StringBuffer("from TestPortal testPortal where 1=1 "); if(!"".equals(a) && null!=a){ hql.append(" and a='"+a+"' "); } if(!"".equals(b) && null!=b){ hql.append(" and b='"+b+"' "); } if(!"".equals(c) && null!=c){ hql.append(" and c='"+c+"' "); } List
list =null; System.out.println("search hql : "+hql.toString()); Query query = session.createQuery(hql.toString()); list = query.list(); return list; }}
(2)、service 没做处理
import java.util.List;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.gp.dao.UserDao;import com.haier.bean.TestPortal;import com.haier.dao.TestDao;import com.haier.service.TestService;@Service("testService")public class TestServiceImpl implements TestService{  private TestDao testDao; public TestDao getTestDao() {  return testDao; } @Resource(name="testDao") public void setTestDao(TestDao testDao) {  this.testDao = testDao; } @Override public void add(TestPortal t) {  testDao.add(t); } @Override public List
search(String a, String b, String c) { List
list = testDao.search(a, b, c); return list; }}

转载地址:http://gjrsi.baihongyu.com/

你可能感兴趣的文章
Java异常分类
查看>>
项目中的jackson与json-lib使用比较
查看>>
Jackson Tree Model Example
查看>>
j2ee-验证码
查看>>
日志框架logj的使用
查看>>
js-高德地图规划路线
查看>>
常用js收集
查看>>
mydata97的日期控件
查看>>
如何防止sql注入
查看>>
maven多工程构建与打包
查看>>
springmvc传值
查看>>
Java 集合学习一 HashSet
查看>>
在Eclipse中查看Android源码
查看>>
Android-Socket登录实例
查看>>
Android使用webservice客户端实例
查看>>
层在页面中的定位
查看>>
[转]C语言printf
查看>>
C 语言 学习---获取文本框内容及字符串拼接
查看>>
C 语言学习 --设置文本框内容及进制转换
查看>>
C 语言 学习---判断文本框取得的数是否是整数
查看>>