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("系统出现异常")
}
});
}