菜单功能的修改功能编写
1、编写菜单(MenuDao.java)代码
import java.util.List;
import java.util.Map;
import orgspringframework.stereotype.Repository;
import com.ischoolbar.programmer.entity.admin.Menu;
/**
* 菜单管理dao
* @author llq
*
*/
@Repository
public interface MenuDao {
public int add(Menu menu);
public List<Menu> findList(Map<String, Object> queryMap);
public List<Menu> findTopList();
public int getTotal(Map<String, Object> queryMap);
public int edit(Menu menu);
2、在Menudao里面声明一下方法
package com.ischoolbar.programmer.dao.admin;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
import com.ischoolbar.programmer.entity.admin.Menu;
/**
* 菜单管理dao
* @author llq
*
*/
@Repository
public interface MenuDao {
public int add(Menu menu);
public List<Menu> findList(Map<String, Object> queryMap);
public List<Menu> findTopList();
public int getTotal(Map<String, Object> queryMap);
public int edit(Menu menu);
}
3、在MenuServiceimpl.java里将添加修改代码
/**
* 菜单修改
* @param menu
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> edit(Menu menu){
Map<String, String> ret = new HashMap<String, String>();
if(menu == null){
ret.put("type", "error");
ret.put("msg", "请选择正确的菜单信息!");
return ret;
}
if(StringUtils.isEmpty(menu.getName())){
ret.put("type", "error");
ret.put("msg", "请填写菜单名称!");
return ret;
}
if(StringUtils.isEmpty(menu.getIcon())){
ret.put("type", "error");
ret.put("msg", "请填写菜单图标类!");
return ret;
}
if(menu.getParentId() == null){
menu.setParentId(0l);
}
if(menuService.edit(menu) <= 0){
ret.put("type", "error");
ret.put("msg", "修改失败,请联系管理员!");
return ret;
}
ret.put("type", "success");
ret.put("msg", "修改成功!");
return ret;
}
4、编写MenuMapper.xml文件
<!-- 获取顶级菜单信息 -->
<select id="findTopList" parameterType="Map" resultType="Menu">
select * from menu where parentId = 0
</select>
<!-- 获取某一分类的子菜单信息 -->
<select id="findChildernList" parameterType="Long" resultType="Menu">
select * from menu where parentId = #{parentId}
</select>
<!-- 根据菜单id获取菜单信息 -->
<select id="findListByIds" parameterType="String" resultType="Menu">
select * from menu where id in(${value})
</select>
<!-- 修改菜单信息 -->
<update id="edit" parameterType="Menu">
update menu set name = #{name},parentId = #{parentId},url = #{url},icon = #{icon} where id = #{id}
</update>
</mapper>
注意参数名一致否则容易报错
5、在MenuController.java里编写修改菜单代码
/**
* 菜单修改
* @param menu
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> edit(Menu menu){
Map<String, String> ret = new HashMap<String, String>();
if(menu == null){
ret.put("type", "error");
ret.put("msg", "请选择正确的菜单信息!");
return ret;
}
if(StringUtils.isEmpty(menu.getName())){
ret.put("type", "error");
ret.put("msg", "请填写菜单名称!");
return ret;
}
if(StringUtils.isEmpty(menu.getIcon())){
ret.put("type", "error");
ret.put("msg", "请填写菜单图标类!");
return ret;
}
if(menu.getParentId() == null){
menu.setParentId(0l);
}
if(menuService.edit(menu) <= 0){
ret.put("type", "error");
ret.put("msg", "修改失败,请联系管理员!");
return ret;
}
ret.put("type", "success");
ret.put("msg", "修改成功!");
return ret;
}
6、编写list.jsp文件的修改代码
**/**
* Name 修改记录
*/
function edit(){
var validate = $("#edit-form").form("validate");
if(!validate){
$.messager.alert("消息提醒","请检查你输入的数据!","warning");
return;
}
var data = $("#edit-form").serialize();
$.ajax({
url:'edit',
dataType:'json',
type:'post',
data:data,
success:function(data){
if(data.type == 'success'){
$.messager.alert('信息提示','修改成功!','info');
$('#edit-dialog').dialog('close');
$('#data-datagrid').datagrid('reload');
}else{
$.messager.alert('信息提示',data.msg,'warning');
}
}
});
}