📄 rolemanagebean.java
字号:
/*$Id: RoleManageBean.java,v 1.1 2008/07/15 03:38:23 liqi Exp $ *-------------------------------------- * Apusic (Kingdee Middleware) *--------------------------------------- * Copyright By Apusic ,All right Reserved * author date comment * chenhongxin 2008-4-14 Created*/package org.operamasks.example.ejb.hr.litebean.module;import java.util.ArrayList;import java.util.List;import java.util.UUID;import javax.faces.model.SelectItem;import org.operamasks.example.ejb.hr.entity.ModuleItem;import org.operamasks.example.ejb.hr.entity.Role;import org.operamasks.example.ejb.hr.service.ServiceBean;import org.operamasks.faces.annotation.Action;import org.operamasks.faces.annotation.BeforeRender;import org.operamasks.faces.annotation.Bind;import org.operamasks.faces.annotation.DataModel;import org.operamasks.faces.annotation.ManagedBean;import org.operamasks.faces.annotation.ManagedBeanScope;import org.operamasks.faces.annotation.ManagedProperty;import org.operamasks.faces.annotation.Required;import org.operamasks.faces.annotation.SelectItems;import org.operamasks.faces.component.grid.impl.UIDataGrid;import org.operamasks.faces.component.layout.impl.UIWindow;/** * 角色管理页面的托管Bean * @author chenhongxin */@ManagedBean(name="module.roleManageBean", scope=ManagedBeanScope.SESSION)public class RoleManageBean extends BaseBean { /** * 操作记录标识 */ private Operation curOperation = Operation.NOTHING; /** * 注入服务提供Bean,该Bean提供各种的业务操作对象 */ @ManagedProperty("#{serviceBean}") private ServiceBean service; /** * 绑定页面的DataGrid组件 */ @Bind(id="roleDataGrid", attribute="binding") private UIDataGrid roleDataGrid; /** * 绑定操作模块CheckBox组 */ @Bind(id="items", attribute="value") @SelectItems private SelectItem[] items = new SelectItem[0]; /** * 模块项id辅助记录数组 */ private String[] itemIds = new String[0]; /** * 绑定明细编辑框里的角色名称输入域,并指定Required验证失败的提示信息 */ @Bind(id="roleName", attribute="value") @Required(message = "#{this.getMessages().get('required')}") private String roleName; /** * 绑定页面的Window组件 */ @Bind(id="detailDialog", attribute="binding") private UIWindow detailDialog; @BeforeRender protected void beforeRender(boolean isPostback) { initBaseResource();//初始化统一国际化资源 if(!isPostback) { List<ModuleItem> allItems = service.getModuleItemService().listModuleItem(); if(allItems != null) { items = new SelectItem[allItems.size()]; itemIds = new String[allItems.size()]; int i = 0; for(ModuleItem item : allItems) { items[i] = new SelectItem(false, item.getName()); itemIds[i] = item.getId(); //填充id辅助记录 i++; } } } } /** * DataGrid绑定数据的获取 * @return 绑定数据的List集合 */ @DataModel(id="roleDataGrid") private List<Role> getPersonDataGridValues(){ return service.getRoleService().listRole(); } /** * 绑定全选按钮的点击事件,使用immediate=true跳过数据验证 */ @Action(id="selectAll",immediate=true) public void selectAll() { for(SelectItem item : items) { item.setValue(true); } } /** * 绑定全不选按钮的点击事件,使用immediate=true跳过数据验证 */ @Action(id="deselectAll",immediate=true) public void deselectAll() { for(SelectItem item : items) { item.setValue(false); } } /** * 绑定添加按钮的点击击事件 */ @Action(id="add",immediate=true) public void add(){ deselectAll(); curOperation = Operation.ADD; detailDialog.show(); } /** * 绑定修改按钮的点击事件 */ @Action(id="modify") public void modify(){ Role selectedRole = (Role)roleDataGrid.getSelectedRowData(); if(selectedRole != null) { roleName = selectedRole.getName(); List<ModuleItem> roleItems = selectedRole.getModuleItems(); if(roleItems != null) { deselectAll(); for(ModuleItem item : roleItems) { for(SelectItem selItem : items) { if(selItem.getLabel().equals(item.getName())) { selItem.setValue(true); } } } curOperation = Operation.MODIFY; detailDialog.show(); } } } /** * 绑定删除按钮的点击事件 */ @Action(id="del") public void del() { Role selectedRole = (Role)roleDataGrid.getSelectedRowData(); if(selectedRole != null) { service.getRoleService().removeRole(selectedRole); roleDataGrid.reload(); } curOperation = Operation.NOTHING; } /** * 绑定取消按钮的点击事件,使用immediate=true跳过数据验证 */ @Action(id="cancel", immediate=true) public void cancel(){ roleName = ""; curOperation = Operation.NOTHING; detailDialog.close(); } /** * 绑定确定按钮的点击事件 */ @Action(id="ok") public void ok(){ if(curOperation == Operation.ADD) { Role newRole = new Role(); newRole.setId(UUID.randomUUID().toString()); newRole.setName(roleName); List<String> ids = new ArrayList<String>(); for(int i = 0, size = items.length; i < size; i++) { if((Boolean)items[i].getValue()) { ids.add(itemIds[i]); } } List<ModuleItem> mItems = service.getModuleItemService().findByIds(ids); newRole.setModuleItems(mItems); for(ModuleItem item : mItems) { item.getRoles().add(newRole); } service.getRoleService().modifyRole(newRole); roleDataGrid.reload(); } else if(curOperation == Operation.MODIFY) { Role selectedRole = (Role)roleDataGrid.getSelectedRowData(); if(selectedRole != null) { List<String> ids = new ArrayList<String>(); for(int i = 0, size = items.length; i < size; i++) { if((Boolean)items[i].getValue()) { ids.add(itemIds[i]); } } List<ModuleItem> mItems = service.getModuleItemService().findByIds(ids); selectedRole.setName(roleName); selectedRole.setModuleItems(mItems); service.getRoleService().modifyRole(selectedRole); roleDataGrid.reload(); } } cancel(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -