场景
借助于BJUI框架,不管是添加还是编辑,都要共用同一个页面,执行同一个save方法。
参照
但是实现添加或者编辑后不会自动刷新页面,还要我们手动刷新页面,所以我们要给BJUI传一个TabID,即页面标识,让它知道它给我们刷新哪个页面。
实现
1.打开BJUI的后台,找到系统管理下的权限管理。
2.然后添加相应的权限
这里只添加新增和编辑,删除暂时没加,点击新增权限时,权限路径要对应后台action中具体的路径,
权限编码这里有用,要与后台传来的TabID一致。
权限类型为菜单则能在左侧菜单栏显示并能点击,如果是操作,则是执行相应的操作,比如添加或者编辑。
这里是执行新增操作,所以权限路径是
对应的权限编码建议使用能简单明了的标识,但是父权限一定要选对。
后台:
在doSave方法中
@ResponseBody
@RequestMapping(value="/doSave")
public Map<String, Object> doSave(SysPartners entity, String op) {
Map<String, Object> jsonResult = null;
try {
//与配置权限管理中相对应,实现添加或编辑完实时更新
String tabid = tabid(ModelAndViewConstants.PARTNER_SYS_ID);
参数常量对应的就是:
public static final String PARTNER_SYS_ID = "sysPartner";
sysPartner要与上面配置的一致。
执行保存成功后:
String msg = "合作商户信息保存成功";
jsonResult = JsonResult.jsonReturn(statusCode, msg, tabid);
在jsonReturn方法中:
public static Map<String, Object> jsonReturn(int statusCode, String msg, String tabid) {
Map<String, Object> jsonObj = setJsonObj(statusCode, msg);
jsonObj.put("tabid", tabid);
jsonObj.put("closeCurrent", true);
jsonObj.put("forward", "");
jsonObj.put("forwardConfirm", "");
return jsonObj;
}
这样就能实现新增或者编辑后的自动刷新页面。