用hibernate+ajax做页面的添加

2、添加

在cuisineList.html中的<a>标签中添加一个id  如:<a  id ="add">添加</a> 

<div class="FunctionButton">
	<a href="saveCuisine.html" id="add">添加</a>
</div>

在saveCuisine.html页面下οnclick="addcuisine()"

<!-- 表单操作 -->
	<div id="InputDetailBar">
		<input type="submit" value="添加" class="FunctionButtonInput" onclick="addcuisine()">
        <a href="javascript:history.go(-1);" class="FunctionButton">返回</a>
    </div>

cuisineList.html中的body下

function addcourse(){   //这个按钮定义的onclick
	$.ajax({
	       type: "POST",
	       url: "/DongYingXin1.0/cuisine!add",
	       data: $('#form').serialize(),    //from表单的id
	       dataType:"json",
	       async:false,
	       success: function (res) {
	    	   //alert("添加成功");
			   // window.location.reload();
			    //重新查询
	    	 		if(res=='1'){
	    	 			alert("添加成功");
	    			    window.location.reload();
	    	 		}	
			         // }else{
	    	//	   alert("签到失败");
	    	  // }
	         
	       },
	       error: function(data) {
	         alert("系统出现异常")
	       }

	     });
	
}
<!-- 过滤条件 -->
	<div id="QueryArea">
		<form action="/wirelessplatform/cuisine.html" method="get" id="form">
			<input type="hidden" name="method" value="search">
			<input type="text" name="keyword" title="请输入菜系名称">
			<input type="submit" value="搜索">
		</form>

	</div>

在controller包下的文件CuisineController中添加一个方法

    String flag="0";
    Cuisine cuisine = new Cuisine();  //用来接收的对象
    public String add(){
		cservice.add(cuisine);    //返回这个对象
		flag="1";//代表添加成功
		return "update";//-->result 标签的name属性 更新内容
    }
    //创建Cuisine的get set方法
    public Cuisine getCuisine() {
		return cuisine;
	}
	public void setCuisine(Cuisine cuisine) {
		this.cuisine = cuisine;
	}

在service包下CuisineService接口中 创建add方法

package com.dyx.service;

import java.util.List;

import com.dyx.pojo.Cuisine;

public interface CuisineService {

	List<Cuisine> showAll();

	void add(Cuisine cuisine);    //创建的方法

}

在serviceimpl包下CuisineService接口中创建实现类

package com.dyx.serviceimpl;

import java.util.List;


import com.dyx.dao.CuisineDao;
import com.dyx.pojo.Cuisine;
import com.dyx.service.CuisineService;

public class CuisineServiceImpl implements CuisineService {
	CuisineDao cdao=new CuisineDao();
	@Override
	public List<Cuisine> showAll() {
		// TODO Auto-generated method stub
		return cdao.showAll();
	}
	@Override
	public void add(Cuisine cuisine) {    //创建的实现类
		// TODO Auto-generated method stub
		cdao.add(cuisine);
	}

}

在Dao包下CuisineDao中创建方法执行

package com.dyx.dao;

import java.util.List;

import org.hibernate.Session;

import com.dyx.pojo.Cuisine;
import com.dyx.util.DBUtil;

public class CuisineDao extends DBUtil{
	Session hibernateSession = getSession();
	public List<Cuisine> showAll() {
		// TODO Auto-generated method stub
		return hibernateSession.createQuery("from Cuisine").list(); 
	}
	public void add(Cuisine cuisine) {
		// TODO Auto-generated method stub
		hibernateSession.saveOrUpdate(cuisine);
		hibernateSession.beginTransaction().commit();//提交事务
	}

}

在struts.xml中配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="abc" namespace="/" extends="struts-default,json-default">
	<!-- 1.如何进到方法里,* method {}方法名 ,2.如何接收值 3.如何传值,4.如何跳出 -->
	<action name="cuisine!*" class="com.dyx.controller.CuisineController" method="{1}">
		<result name="showAll" type="json">
			<param name="root">list</param>
		</result>
		<result name="update" type="json">    //新配置的
			<param name="root">flag</param>
		</result>
	</action>

</package>
	
</struts>    
   

在cuisineList.html中body后写

function addcourse(){
	$.ajax({
	       type: "POST",
	       url: "/DongYingXin1.0/cuisine!add",
	       data: $('#form').serialize(),
	       dataType:"json",
	       async:false,
	       success: function (res) {
	    	   //alert("添加成功");
			   // window.location.reload();
			    //重新查询
	    	 		if(res=='1'){
	    	 			alert("添加成功");
	    			    window.location.reload();
	    	 		}	
			         // }else{
	    	//	   alert("签到失败");
	    	  // }
	         
	       },
	       error: function(data) {
	         alert("系统出现异常")
	       }

	     });
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值