📄 bbscsutil.java
字号:
package com.laoer.bbscs.comm;
import java.io.*;
import java.net.*;
import java.util.*;
import java.text.*;
import javax.servlet.http.*;
import org.apache.struts.util.*;
import com.opensymphony.xwork2.util.TextUtils;
import org.apache.commons.io.*;
import org.apache.commons.lang.StringUtils;
public class BBSCSUtil {
public static String getUserWebFilePath(String userID) {
StringBuffer sb = new StringBuffer();
int num = Math.abs(userID.hashCode());
sb.append(Constant.ROOTPATH);
sb.append("user/");
sb.append(num % 100);
sb.append("/");
sb.append(userID);
sb.append("/");
File ft = new File(sb.toString());
if (!ft.exists()) {
ft.mkdirs();
}
return sb.toString();
}
public static String getUserWebPath(String userID) {
StringBuffer sb = new StringBuffer();
int num = Math.abs(userID.hashCode());
sb.append("user/");
sb.append(num % 100);
sb.append("/");
sb.append(userID);
sb.append("/");
return sb.toString();
}
public static String getWebRealPath(HttpServletRequest request) {
StringBuffer sb = new StringBuffer();
sb.append("http://");
sb.append(request.getServerName());
if (request.getServerPort() != 80) {
sb.append(":");
sb.append(request.getServerPort());
}
// sb.append(request.getContextPath());
// sb.append("/");
return sb.toString();
}
public static String getUpFilePath(long bid, long adate) {
StringBuffer sb = new StringBuffer();
sb.append(Constant.ROOTPATH);
sb.append(getUpFileWebPath(bid, adate));
File ft = new File(sb.toString());
if (!ft.exists()) {
ft.mkdirs();
}
return sb.toString();
}
public static String getUpFileWebPath(long bid, long adate) {
StringBuffer sb = new StringBuffer();
sb.append("upload/");
sb.append((bid % 20));
sb.append("/");
sb.append(bid);
sb.append("/");
sb.append(Util.formatDate4(new Date(adate)));
sb.append("/");
return sb.toString();
}
public static String getIncludePath() {
StringBuffer sb = new StringBuffer();
sb.append(Constant.ROOTPATH);
sb.append("include/");
File ft = new File(sb.toString());
if (!ft.exists()) {
ft.mkdirs();
}
return sb.toString();
}
public static String getActionMappingName(String action) {
String value = action;
int question = action.indexOf("?");
if (question >= 0) {
value = value.substring(0, question);
}
int slash = value.lastIndexOf("/");
int period = value.lastIndexOf(".");
if ((period >= 0) && (period > slash)) {
value = value.substring(0, period);
}
if (value.startsWith("/")) {
return (value);
} else {
return ("/" + value);
}
}
public static String getActionMappingNameWithoutPrefix(String action) {
String value = action;
int question = action.indexOf("?");
if (question >= 0) {
value = value.substring(0, question);
}
int slash = value.lastIndexOf("/");
int period = value.lastIndexOf(".");
if ((period >= 0) && (period > slash)) {
value = value.substring(0, period);
}
return (value);
}
public static String getActionMappingURL(String action) {
StringBuffer value = new StringBuffer();
// Use our servlet mapping, if one is specified
String servletMapping = Constant.SERVLET_MAPPING;
if (servletMapping != null) {
String queryString = null;
int question = action.indexOf("?");
if (question >= 0) {
queryString = action.substring(question);
}
String actionMapping = getActionMappingName(action);
if (servletMapping.startsWith("*.")) {
value.append(actionMapping);
value.append(servletMapping.substring(1));
} else if (servletMapping.endsWith("/*")) {
value.append(servletMapping.substring(0, servletMapping.length() - 2));
value.append(actionMapping);
} else if (servletMapping.equals("/")) {
value.append(actionMapping);
}
if (queryString != null) {
value.append(queryString);
}
}
// Otherwise, assume extension mapping is in use and extension is
// already included in the action property
else {
if (!action.startsWith("/")) {
value.append("/");
}
value.append(action);
}
// Return the completed value
return (value.toString());
}
public static String getActionMappingURLWithoutPrefix(String action) {
StringBuffer value = new StringBuffer();
// Use our servlet mapping, if one is specified
String servletMapping = Constant.SERVLET_MAPPING;
if (servletMapping != null) {
String queryString = null;
int question = action.indexOf("?");
if (question >= 0) {
queryString = action.substring(question);
}
String actionMapping = getActionMappingNameWithoutPrefix(action);
if (servletMapping.startsWith("*.")) {
value.append(actionMapping);
value.append(servletMapping.substring(1));
} else if (servletMapping.endsWith("/*")) {
value.append(servletMapping.substring(0, servletMapping.length() - 2));
value.append(actionMapping);
} else if (servletMapping.equals("/")) {
value.append(actionMapping);
}
if (queryString != null) {
value.append(queryString);
}
}
// Otherwise, assume extension mapping is in use and extension is
// already included in the action property
// else {
// if (!action.startsWith("/")) {
// value.append("/");
// }
// value.append(action);
// }
// Return the completed value
return (value.toString());
}
public static String getActionMappingURL(String action, HttpServletRequest request) {
StringBuffer value = new StringBuffer(request.getContextPath());
// Use our servlet mapping, if one is specified
String servletMapping = Constant.SERVLET_MAPPING;
if (servletMapping != null) {
String queryString = null;
int question = action.indexOf("?");
if (question >= 0) {
queryString = action.substring(question);
}
String actionMapping = getActionMappingName(action);
if (servletMapping.startsWith("*.")) {
value.append(actionMapping);
value.append(servletMapping.substring(1));
} else if (servletMapping.endsWith("/*")) {
value.append(servletMapping.substring(0, servletMapping.length() - 2));
value.append(actionMapping);
} else if (servletMapping.equals("/")) {
value.append(actionMapping);
}
if (queryString != null) {
value.append(queryString);
}
}
// Otherwise, assume extension mapping is in use and extension is
// already included in the action property
else {
if (!action.startsWith("/")) {
value.append("/");
}
value.append(action);
}
// Return the completed value
return (value.toString());
}
public static URL absoluteActionURL(HttpServletRequest request, String action) throws MalformedURLException {
return new URL(RequestUtils.serverURL(request) + getActionMappingURL(action, request));
}
public static URL absoluteActionURLHtml(HttpServletRequest request, String url) throws MalformedURLException {
return new URL(RequestUtils.serverURL(request) + request.getContextPath() + url);
}
public static String getBoardPrefixLine(int level, String txt) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < level * 2; i++) {
sb.append(txt);
}
return sb.toString();
}
public static String[] filterUserSign(String[] sign, boolean useHTML, boolean useUBB, boolean useSmile) {
for (int i = 0; i < sign.length; i++) {
sign[i] = filterText(sign[i], useHTML, useUBB, useSmile);
}
return sign;
}
public static String filterText(String sign, boolean useHTML, boolean useUBB, boolean useSmile) {
if (!useHTML) {
// sign = TagUtils.getInstance().filter(sign);
sign = TextUtils.htmlEncode(sign);
}
if (useUBB) {
sign = getUBB2HTML(sign);
}
if (useSmile) {
sign = replaceSmile(sign);
}
sign = sign.replaceAll("\n", "<BR/>");
sign = filterScript(sign);
return sign;
}
public static String filterScript(String txt) {
return txt.replaceAll("[Ss][Cc][Rr][Ii][Pp][Tt]", "s.c.r.i.p.t");
}
public static String replaceSmile(String txt) {
if (txt != null) {
return txt.replaceAll("\\{(\\d{1,2})\\}", "<img src=\"images/smile/$1.gif\" alt=\"smile\"/>");
} else {
return "";
}
}
public static String getUBB2HTML(String txt) {
if (txt != null) {
AutoFilter af = new AutoFilter(txt);
txt = af.getFilteredStr();
}
return txt;
}
public static int getStrLength(String txt, String charset) {
try {
return txt.getBytes(charset).length;
} catch (UnsupportedEncodingException ex) {
return txt.length();
}
}
public static int getSysCharsetStrLength(String txt) {
try {
return txt.getBytes(Constant.CHARSET).length;
} catch (UnsupportedEncodingException ex) {
return txt.length();
}
}
public static boolean int2boolean(int value) {
if (value == 1) {
return true;
}
if (value == 0) {
return false;
}
return false;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -