public String save() { try { // before check roleChecker.check(model); // after invoke Role dest = null; if (id > 0) { dest = roleManager.get(id); beanMapper.copy(model, dest); } else { dest = model; } if (id == 0) { dest.setGlobalId(scopeConnector.findGlobalId(ScopeHolder.getGlobalCode())); dest.setLocalId( scopeConnector.findLocalId(ScopeHolder.getGlobalCode(), ScopeHolder.getLocalCode())); } dest.setName(roleDefManager.get(roleDefId).getName()); dest.setRoleDef(roleDefManager.get(roleDefId)); roleManager.save(dest); addActionMessage(messages.getMessage("core.success.save", "保存成功")); } catch (CheckRoleException ex) { addActionMessage(ex.getMessage()); return INPUT; } return RELOAD; }