📄 useraction.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 com.gsta.eshore.framework.util.MD5;
import org.artemis.manager.common.Constants;
import org.artemis.manager.struts.form.UserRoleForm;
import org.artemis.manager.struts.form.UsersForm;
import org.artemis.right.model.User;
import org.artemis.right.model.UserRole;
import org.artemis.right.model.UserRoleId;
/**
* @author hewenqiang Jul 25, 2006 2:47:43 PM
*/
public class UserAction extends DelegateAction {
private static Logger logger = Logger.getLogger(UserAction.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(" UserAction action Name: " + myaction);
if (isCancelled(request)) {
if (logger.isInfoEnabled()) {
logger.info(" UserAction " + mapping.getAttribute()
+ " - action was cancelled");
}
return mapping.findForward("cancel");
}
if (AppUtils.isBlank(myaction)) {
myforward = mapping.findForward("error");
} else if ("usersList".equalsIgnoreCase(myaction)) {
myforward = userlist(mapping, form, request, response);
}else if("deleteUserRoleByUserId".equalsIgnoreCase(myaction)){
myforward=deleteUserRoleByUserId( mapping,form,request,response);
} else if ("findRoleByUser".equalsIgnoreCase(myaction)) {
myforward = findRoleByUser(mapping, form, request, response);
} else if ("findFunctionByUser".equalsIgnoreCase(myaction)) {
myforward = findFunctionByUser(mapping, form, request, response);
}else if("findOtherRoleByUser".equalsIgnoreCase(myaction)){
myforward=findOtherRoleByUser( mapping,form,request,response);
}else if("saveRoleToUser".equalsIgnoreCase(myaction)){
myforward=saveRoleToUser( mapping,form,request,response);
}else if("findUserById".equalsIgnoreCase(myaction)){
myforward=findUserById( mapping,form,request,response);
}else if("updateUserPassowrd".equalsIgnoreCase(myaction)){
myforward=updateUserPassowrd( mapping,form,request,response);
}else if("preupdateStatus".equalsIgnoreCase(myaction)){
myforward=preupdateStatus( mapping,form,request,response);
}else if("updateUserStatus".equalsIgnoreCase(myaction)){
myforward=updateUserStatus( mapping,form,request,response);
}else if("saveUser".equalsIgnoreCase(myaction)){
myforward=saveUser( mapping,form,request,response);
}
else {
myforward = mapping.findForward("error");
}
return myforward;
}
private ActionForward saveUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
UsersForm usersForm = (UsersForm) form;
IState state=new StateImpl();
User user=usersForm.getUser();
try {
if(getBiz().isUserExist(user.getName(), state)){
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.User.IsExist");
}
String id=getBiz().saveUser(Md5Password(user), state);
logger.info("success saveUser,id = "+id);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "UserAction's save");
}
return mapping.findForward("view");
}
private User Md5Password(User user){
if(user.getPassword()!=null){
user.setPassword(MD5.toMD5(user.getPassword()));
//System.out.println("userAciotn user.getPassword() "+user.getPassword());
return user;
}
return user;
}
private ActionForward updateUserStatus(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
logger.debug("Struts UserAction updateUserStatus");
UsersForm usersForm = (UsersForm) form;
User user=usersForm.getUser();
String enabled=user.getEnabled();
String userId=user.getId();
IState state=new StateImpl();
try {
User olduser=getBiz().findUserById(userId, state);
olduser.setEnabled(enabled);
olduser.setNote(user.getNote());
getBiz().updateUser(olduser, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "FunctionAction's updateUserStatus");
}
return mapping.findForward("view");
}
private ActionForward preupdateStatus(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String id=request.getParameter("id");
logger.info("Action preupdateStatus with id "+id);
removeRequestAttribute(mapping,request);
IState state=new StateImpl();
try {
User user=getBiz().findUserById(id, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
request.setAttribute("user",user);
} catch (Exception e) {
return handleException(mapping, request, e, "UserAction's preupdateStatus");
}
return mapping.findForward("view");
}
private ActionForward updateUserPassowrd(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
logger.info("Struts UserAction updateUserById");
UsersForm usersForm = (UsersForm) form;
User user=usersForm.getUser();
String passwordag=user.getPasswordag();
if(!passwordag.endsWith(user.getPassword())){//2次密码要相等
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.Password.NotEqual");
}
IState state=new StateImpl();
try {
getBiz().updateUserPassowrd(user.getId(), MD5.toMD5(user.getPassword()), state);
logger.info("updateFunctionById result = "+state.isOK());
if(!state.isOK())
return mapping.findForward("fail");
} catch (Exception e) {
return handleException(mapping, request, e, "FunctionAction's updateUserPassowrd");
}
return mapping.findForward("view");
}
private ActionForward findUserById(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String id=request.getParameter("id");
logger.info("Action findUserById with id "+id);
removeRequestAttribute(mapping,request);
IState state=new StateImpl();
try {
User user=getBiz().findUserById(id, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
request.setAttribute("user",user);
} catch (Exception e) {
return handleException(mapping, request, e, "UserAction's findUserById");
}
return mapping.findForward("view");
}
private ActionForward saveRoleToUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String userId=request.getParameter("userId");
List userRoles=new ArrayList();
UsersForm usersForm = (UsersForm) form;
String[] strArray = usersForm.getStrArray();
for (int i = 0; i < strArray.length; i++) {
UserRole userRole=new UserRole();
UserRoleId userRoleId=new UserRoleId();
userRoleId.setRoleId(strArray[i]);
userRoleId.setUserId(userId);
userRole.setId(userRoleId);
userRoles.add(userRole);
}
removeRequestAttribute(mapping,request);
IState state=new StateImpl();
try {
getBiz().saveRolesToUser(userRoles, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "FunctionAction's saveRoleToUser");
}
return mapping.findForward("view");
}
private ActionForward findOtherRoleByUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String curPageNO = request.getParameter("curPageNO");
String userId = request.getParameter("userId");
String myAction="findOtherRoleByUser.do";
if(userId!=null)
myAction="findOtherRoleByUser.do?userId="+userId;
try {
//HQL查找方式
HqlQuery hq=new HqlQuery(myAction);
hq.setCurPage(curPageNO);
hq.setPageSize(Constants.PAGE_SIZE);
IState state=new StateImpl();
User user=getBiz().findUserById(userId, state);
PageSupport ps= (PageSupport)getBiz().findOtherRoleByUser(hq, userId, 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("roles", ps.getResultList());
request.setAttribute("user", user);
}catch (Exception e){
return handleException(mapping, request, e, "FunctionAction's findOtherRoleByUser");
}
return mapping.findForward("view");
}
private ActionForward findFunctionByUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String userId = request.getParameter("userId");
logger.info("UserAction findFunctionByUser : "+userId);
IState state=new StateImpl();
try {
removeRequestAttribute(mapping,request);
User user=getBiz().findUserById(userId, state);
List functions=getBiz().findFunctionByUser(userId, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
request.setAttribute("functions", functions);
request.setAttribute("user", user);
} catch (Exception e) {
return handleException(mapping, request, e, "UserAction's findFunctionByUser");
}
return mapping.findForward("view");
}
private ActionForward userlist(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String curPageNO = request.getParameter("curPageNO");
String myaction;
String search=request.getParameter("search");
if(search==null){
search="";
myaction="usersList.do";
}else{
myaction="usersList.do?search="+search;
}
try {
//Qbc查找方式
//CriteriaQuery cq=new CriteriaQuery(CmsRight.class,curPageNO,myaction,myform);
CriteriaQuery cq=new CriteriaQuery(User.class,curPageNO,myaction);
cq.setPageSize(Constants.PAGE_SIZE);
// cq.eq("rightId","002");//0条件
// cq.like("rightUrl","u%");//2
// cq.add(cq.and(cq.or(cq,0,1),cq,2));
if(!AppUtils.isBlank(search)){
System.out.println("查询内容 = "+search);
cq.like("name",search+"%");//1
cq.add();
}
IState state=new StateImpl();
PageSupport ps= (PageSupport)getBiz().findAllUser(cq, state);
//HQL查找方式
/*
HqlQuery hq=new HqlQuery(curPage,myaction,myform);
hq.setQueryString("select c from CmsRight as c where c.rightId like ? or c.rightBox = ?");
hq.addPara("0%",Types.VARCHAR);
hq.addPara("box3",Types.VARCHAR);
hq.setOrderby(" order by c.rightId asc");
hq.setPageSize(2);
hq.setOffset(true);
PageSupport ps= service.find(hq);
*/
//printRequest(request);
removeRequestAttribute(mapping,request);
//printRequest(request);
request.setAttribute("search",search);
request.setAttribute("curPageNO",new Integer(ps.getCurPageNO()));
request.setAttribute("offset", new Integer(ps.getOffset()+1));
request.setAttribute("toolBar", ps.getToolBar());
if(!AppUtils.isBlank(ps.getResultList()))
request.setAttribute("list", ps.getResultList());
}catch (Exception e){
return handleException(mapping, request, e, "UserAction's userlist");
}
return mapping.findForward("view");
}
private ActionForward findRoleByUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String userId = request.getParameter("userId");
logger.info("UserAction findOtherRoleByUser : "+userId);
IState state=new StateImpl();
try {
removeRequestAttribute(mapping,request);
User user=getBiz().findUserById(userId, state);
List roles=getBiz().findRoleByUser(userId, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
request.setAttribute("roles", roles);
request.setAttribute("user", user);
} catch (Exception e) {
return handleException(mapping, request, e, "UserAction's findRoleByUser");
}
return mapping.findForward("view");
}
private ActionForward deleteUserRoleByUserId(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String userId=request.getParameter("userId");
logger.info("Action deleteUserRoleByUserId with userId "+userId);
List userRoles=new ArrayList();
UserRoleForm userRoleForm = (UserRoleForm) form;
String[] strArray = userRoleForm.getStrArray();
for (int i = 0; i < strArray.length; i++) {
UserRole userRole=new UserRole();
UserRoleId userRoleId=new UserRoleId();
userRoleId.setUserId(userId);
userRoleId.setRoleId(strArray[i]);
userRole.setId(userRoleId);
userRoles.add(userRole);
}
//removeRequestAttribute(mapping,request);
IState state=new StateImpl();
try {
getBiz().deleteRoleFromUser(userRoles, state);
if(!state.isOK())
return handleException(mapping, request, ActionMessages.GLOBAL_MESSAGE, "error.ClientException");
} catch (Exception e) {
return handleException(mapping, request, e, "UserAction's deleteUserRoleByUserId");
}
request.setAttribute("userId", userId);
return mapping.findForward("view");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -