📄 actionutils.java
字号:
package com.laoer.bbscs.web.action;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.*;
import com.laoer.bbscs.service.config.SysConfig;
import com.laoer.bbscs.comm.BBSCSUtil;
import java.net.MalformedURLException;
import com.laoer.bbscs.web.form.LoginForm;
import com.laoer.bbscs.bean.UserInfo;
import java.util.Map;
import com.laoer.bbscs.web.servlet.UserSession;
import com.laoer.bbscs.bean.Permission;
import java.util.Iterator;
import java.util.Set;
import com.laoer.bbscs.comm.Constant;
import com.laoer.bbscs.bean.UserOnline;
/**
* <p>Title: Tianyi BBS</p>
*
* <p>Description: BBSCS</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: Laoer.com</p>
*
* @author Gong Tianyi
* @version 7.0
*/
public class ActionUtils {
public ActionUtils() {
}
public synchronized static void addErrors(HttpServletRequest request, ActionMessages errors) {
if (errors == null) {
// bad programmer! *slap*
return;
}
// get any existing errors from the request, or make a new one
ActionMessages requestErrors = (ActionMessages) request.getAttribute(Globals.ERROR_KEY);
if (requestErrors == null) {
requestErrors = new ActionMessages();
}
// add incoming errors
requestErrors.add(errors);
// if still empty, just wipe it out from the request
if (requestErrors.isEmpty()) {
request.removeAttribute(Globals.ERROR_KEY);
return;
}
// Save the errors
request.setAttribute(Globals.ERROR_KEY, requestErrors);
}
public static ActionForward getLoginForward(ActionMapping mapping, HttpServletRequest request,
SysConfig sysConfig, String loginType) {
String tourl = "";
if (loginType.equalsIgnoreCase("index")) {
try {
tourl = BBSCSUtil.absoluteActionURL(request, "/main").toString();
}
catch (MalformedURLException ex) {
tourl = "main.bbscs";
}
}
if (loginType.equalsIgnoreCase("admin")) {
try {
tourl = BBSCSUtil.absoluteActionURL(request, "/adminMain").toString();
}
catch (MalformedURLException ex) {
tourl = "adminMain.bbscs";
}
}
if (sysConfig.isUsePass()) {
request.setAttribute("actionUrl", sysConfig.getPassUrl());
request.setAttribute("tourl", tourl);
return mapping.findForward("passLogin");
}
else {
LoginForm loginForm = new LoginForm();
loginForm.setAction("login");
loginForm.setTourl(tourl);
request.setAttribute("loginForm", loginForm);
return mapping.findForward("login");
}
}
public static void createUserSession(HttpServletRequest request, UserInfo ui, Map[] permissionMap,
UserOnline uo) {
HttpSession session = request.getSession();
UserSession us = new UserSession();
us.setId(ui.getId());
us.setUserName(ui.getUserName());
us.setNickName(ui.getNickName());
us.setGroupID(ui.getGroupID());
us.setValidateCode(uo.getValidateCode());
us.setLastActiveTime(System.currentTimeMillis());
us.setEmail(ui.getEmail());
Set pset = permissionMap[0].entrySet();
Iterator it = pset.iterator();
while (it.hasNext()) {
Map.Entry p = (Map.Entry) it.next();
Permission permission = (Permission) p.getValue();
String[] actions = permission.getAction().split(",");
for (int i = 0; i < actions.length; i++) {
//System.out.println(p.getKey());
String[] resources = ( (String) p.getKey()).split(",");
us.getUserPermission().put(BBSCSUtil.getActionMappingURL(resources[0], request) +
"?action=" + actions[i], p.getValue());
}
//us.getUserPermission().put(BBSCSUtil.getActionMappingURL( (String) p.getKey(), request) +
// "?action=" + permission.getAction(), p.getValue());
}
us.setSpecialPermission(permissionMap[1]);
String[] signDetail = new String[3];
signDetail[0] = ui.getSignDetail0();
signDetail[1] = ui.getSignDetail1();
signDetail[2] = ui.getSignDetail2();
/*
System.out.println("ActionUtils createUserSession -> \n signDetail[0]:" + signDetail[0] +
"\n signDetail[1]:" + signDetail[1] + "\n signDetail[2]:" + signDetail[2]);*/
us.setSignDetail(signDetail);
session.setAttribute(Constant.USER_SESSION_KEY, us);
}
public static void createGuestSession(HttpServletRequest request, Map[] permissionMap,
UserOnline uo) {
HttpSession session = request.getSession();
UserSession us = new UserSession();
us.setId(uo.getUserID());
us.setUserName(uo.getUserName());
us.setNickName(uo.getNickName());
us.setGroupID(Constant.USER_GROUP_GUEST);
us.setLastActiveTime(System.currentTimeMillis());
Set pset = permissionMap[0].entrySet();
Iterator it = pset.iterator();
while (it.hasNext()) {
Map.Entry p = (Map.Entry) it.next();
Permission permission = (Permission) p.getValue();
String[] actions = permission.getAction().split(",");
for (int i = 0; i < actions.length; i++) {
System.out.println(p.getKey());
String[] resources = ( (String) p.getKey()).split(",");
us.getUserPermission().put(BBSCSUtil.getActionMappingURL(resources[0], request) +
"?action=" + actions[i], p.getValue());
}
//us.getUserPermission().put(BBSCSUtil.getActionMappingURL( (String) p.getKey(), request) +
// "?action=" + permission.getAction(), p.getValue());
}
us.setSpecialPermission(permissionMap[1]);
session.setAttribute(Constant.USER_SESSION_KEY, us);
}
public static void reloadUserPermission(HttpServletRequest request, Map[] permissionMap) {
HttpSession session = request.getSession();
UserSession us = (UserSession) session.getAttribute(Constant.USER_SESSION_KEY);
if (us != null) {
us.getUserPermission().clear();
us.getSpecialPermission().clear();
Set pset = permissionMap[0].entrySet();
Iterator it = pset.iterator();
while (it.hasNext()) {
Map.Entry p = (Map.Entry) it.next();
Permission permission = (Permission) p.getValue();
String[] actions = permission.getAction().split(",");
for (int i = 0; i < actions.length; i++) {
String[] resources = ( (String) p.getKey()).split(",");
us.getUserPermission().put(BBSCSUtil.getActionMappingURL(resources[0], request) +
"?action=" + actions[i], p.getValue());
}
//us.getUserPermission().put(BBSCSUtil.getActionMappingURL( (String) p.getKey(), request) +
// "?action=" + permission.getAction(), p.getValue());
}
us.setSpecialPermission(permissionMap[1]);
session.setAttribute(Constant.USER_SESSION_KEY, us);
}
}
public static UserSession reloadUserPermission(HttpServletRequest request, UserSession us,
Map[] permissionMap) {
HttpSession session = request.getSession();
if (us != null) {
us.getUserPermission().clear();
us.getSpecialPermission().clear();
Set pset = permissionMap[0].entrySet();
Iterator it = pset.iterator();
while (it.hasNext()) {
Map.Entry p = (Map.Entry) it.next();
Permission permission = (Permission) p.getValue();
String[] actions = permission.getAction().split(",");
for (int i = 0; i < actions.length; i++) {
String[] resources = ( (String) p.getKey()).split(",");
us.getUserPermission().put(BBSCSUtil.getActionMappingURL(resources[0], request) +
"?action=" + actions[i], p.getValue());
}
//us.getUserPermission().put(BBSCSUtil.getActionMappingURL( (String) p.getKey(), request) +
// "?action=" + permission.getAction(), p.getValue());
}
us.setSpecialPermission(permissionMap[1]);
session.setAttribute(Constant.USER_SESSION_KEY, us);
}
return us;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -