📄 functionaction.java
字号:
package org.artemis.manager.struts.action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessages;
import com.gsta.eshore.framework.daoutil.CriteriaQuery;
import com.gsta.eshore.framework.daoutil.HqlQuery;
import com.gsta.eshore.framework.daoutil.PageSupport;
import com.gsta.eshore.framework.jcf.IState;
import com.gsta.eshore.framework.jcf.StateImpl;
import com.gsta.eshore.framework.util.AppUtils;
import org.artemis.manager.common.Constants;
import org.artemis.manager.struts.form.FunctionForm;
import org.artemis.manager.struts.form.PermissionForm;
import org.artemis.right.model.Function;
import org.artemis.right.model.Permission;
import org.artemis.right.model.PerssionId;
import org.artemis.right.model.Role;
/**
* @author hewenqiang Jul 25, 2006 2:47:43 PM
*/
public class FunctionAction extends DelegateAction {
private static Logger logger = Logger.getLogger(FunctionAction.class);
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward executeAction(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
ActionForward myforward = null;
String myaction = mapping.getParameter();
logger.info(" FunctionAction action Name: " + myaction);
if (isCancelled(request)) {
if (logger.isInfoEnabled()) {
logger.info(" FunctionAction " + mapping.getAttribute()
+ " - action was cancelled");
}
return mapping.findForward("cancel");
}
if (AppUtils.isBlank(myaction)) {
myforward = mapping.findForward("error");
} else if ("listFunction".equalsIgnoreCase(myaction)) {
myforward = listFunction(mapping, form, request, response);
}else if("save".equalsIgnoreCase(myaction)){
myforward=save( mapping,form,request,response);
} else if ("updateFunctionById".equalsIgnoreCase(myaction)) {
myforward = updateFunctionById(mapping, form, request, response);
} else if ("deleteFunctionById".equalsIgnoreCase(myaction)) {
myforward = deleteFunctionById(mapping, form, request, response);
} else if ("findFunctionByRole".equalsIgnoreCase(myaction)) {
myforward = findFunctionByRole(mapping, form, request, response);
}else if("findFunctionById".equalsIgnoreCase(myaction)){
myforward=findFunctionById( mapping,form,request,response);
}else if("saveFunctionsToRoleList".equalsIgnoreCase(myaction)){
myforward=saveFunctionsToRoleList( mapping,form,request,response);
}else if("findOtherFunctionByHql".equalsIgnoreCase(myaction)){
myforward=findOtherFunctionByHql( mapping,form,request,response);
}
else {
myforward = mapping.findForward("error");
}
return myforward;
}
private ActionForward findOtherFunctionByHql(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String curPageNO = request.getParameter("curPageNO");
String roleId = request.getParameter("roleId");
String myAction="findOtherFunctionByHql.do";
if(roleId!=null)
myAction="findOtherFunctionByHql.do?roleId="+roleId;
try {
//HQL查找方式
HqlQuery hq=new HqlQuery(myAction);
hq.setCurPage(curPageNO);
hq.setPageSize(Constants.PAGE_SIZE);
IState state=new StateImpl();
Role role=getBiz().findRoleById(roleId, state);
PageSupport ps= (PageSupport)getBiz().findOtherFunctionByHql(hq, roleId, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
request.setAttribute("curPageNO",new Integer(ps.getCurPageNO()));
request.setAttribute("offset", new Integer(ps.getOffset()+1));
if(!AppUtils.isBlank(ps.getResultList()))
request.setAttribute("toolBar", ps.getToolBar());
request.setAttribute("functionList", ps.getResultList());
request.setAttribute("role", role);
}catch (Exception e){
return handleException(mapping, request, e, "FunctionAction's findOtherFunctionByHql");
}
return mapping.findForward("view");
}
private ActionForward saveFunctionsToRoleList(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String roleId=request.getParameter("roleId");
List permissions=new ArrayList();
PermissionForm permissionForm = (PermissionForm) form;
String[] strArray = permissionForm.getStrArray();
for (int i = 0; i < strArray.length; i++) {
Permission permission=new Permission();
PerssionId perssionId=new PerssionId();
perssionId.setRoleId(roleId);
perssionId.setFunctionId(strArray[i]);
permission.setId(perssionId);
permissions.add(permission);
}
removeRequestAttribute(mapping,request);
IState state=new StateImpl();
try {
getBiz().saveFunctionsToRole(permissions, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "FunctionAction's saveFunctionToRoleList");
}
return mapping.findForward("view");
}
private ActionForward updateFunctionById(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
logger.debug("Struts FunctionAction updateFunctionById");
FunctionForm functionForm = (FunctionForm) form;
IState state=new StateImpl();
try {
getBiz().updateFunction(functionForm.getFunction(), state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "FunctionAction's save");
}
return mapping.findForward("list");
}
private ActionForward listFunction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String curPageNO = request.getParameter("curPageNO");
String myaction;
String search=request.getParameter("search");
//String myform="forms[0]";
if(search==null){
search="";
myaction="listFunction.do";
}else{
myaction="listFunction.do?search="+search;
}
try {
//Qbc查找方式
CriteriaQuery cq=new CriteriaQuery(Function.class,curPageNO,myaction);
cq.setPageSize(Constants.PAGE_SIZE);
if(!AppUtils.isBlank(search)){
cq.like("name","%"+search+"%");//1
cq.add();
}
IState state=new StateImpl();
PageSupport ps= (PageSupport)getBiz().findAllFunction(cq, state);
request.setAttribute("search",search);
request.setAttribute("curPageNO",new Integer(ps.getCurPageNO()));
request.setAttribute("offset", new Integer(ps.getOffset()+1));
request.setAttribute("functionList", ps.getResultList());
if(!AppUtils.isBlank(ps.getResultList()))
request.setAttribute("toolBar", ps.getToolBar());
}catch (Exception e){
return handleException(mapping, request, e, "FunctionAction's listFunction");
}
return mapping.findForward("functionList");
}
private ActionForward findFunctionByRole(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String roleId=request.getParameter("roleId");
logger.info("Struts FunctionAction findFunctionByRole with roleId "+roleId);
IState state=new StateImpl();
removeRequestAttribute(mapping,request);
try {
Role role=getBiz().findRoleById(roleId, state);
List list=getBiz().findFunctionByRoleId(roleId, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
request.setAttribute("list",list);
request.setAttribute("role", role);
} catch (Exception e) {
return handleException(mapping, request, e, "RoleAction's findFunctionByRole");
}
return mapping.findForward("view");
}
private ActionForward deleteFunctionById(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String id=request.getParameter("id");
logger.info("Struts Action deleteFunctionById with id "+id);
IState state=new StateImpl();
try {
boolean result=getBiz().deleteFunctionById(id, state);
logger.debug("deleteFunctionById result = "+result);
if(!state.isOK()||!result)
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "FunctionAction's deleteFunction");
}
return mapping.findForward("list");
}
private ActionForward findFunctionById(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String id=request.getParameter("id");
logger.info("Struts Action findFunctionById with id "+id);
IState state=new StateImpl();
try {
Function function=getBiz().findFunctionById(id, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
request.setAttribute("function",function);
} catch (Exception e) {
return handleException(mapping, request, e, "FunctionAction's findFunctionById");
}
return mapping.findForward("view");
}
private ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
FunctionForm functionForm = (FunctionForm) form;
IState state=new StateImpl();
try {
String id=getBiz().saveFunction(functionForm.getFunction(), state);
logger.info("success saveFunction,id = "+id);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "FunctionAction's save");
}
return mapping.findForward("list");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -