在项目中哪里会用到,看下图代码:
@RequestMapping(value = "/save", method = RequestMethod.POST)
@ResponseBody
public AjaxJson doSave(SysRole sysRole, HttpServletRequest request, HttpServletResponse response,
BindingResult result) {
AjaxJson ajaxJson = new AjaxJson();
ajaxJson
ajaxJson.success("保存成功");
if (hasError(sysRole, result)) {
// 错误提示
String errorMsg = errorMsg(result);
if (!StringUtils.isEmpty(errorMsg)) {
ajaxJson.fail(errorMsg);
} else {
ajaxJson.fail("保存失败");
}
return ajaxJson;
}
try {
if (StringUtils.isEmpty(sysRole.getId())) {
sysRoleService.insert(sysRole);
} else {
sysRoleService.insertOrUpdate(sysRole);
}
} catch (Exception e) {
e.printStackTrace();
ajaxJson.fail("保存失败!
原因:" + e.getMessage());
}
return ajaxJson;
}
我们通过工具类来判断是否有id传过来。
StringUtils工具类代码,如下:
package cn.jeeweb.core.utils;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringEscapeUtils;
import com.alibaba.fastjson.JSONObject;
public class StringUtils extends org.apache.commons.lang3.StringUtils {
private static final String CHARSET_NAME = "UTF-8";
// 首字母转小写
public static String toLowerCaseFirstOne(String s) {
if (Character.isLowerCase(s.charAt(0)))
return s;
else
return (new StringBuilder()).append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString();
}
// 首字母转大写
public static String toUpperCaseFirstOne(String s) {
if (Character.isUpperCase(s.charAt(0)))
return s;
else
return (new StringBuilder()).append(Character.toUpperCase(s.charAt(0))).append(s.substring(1)).toString();
}
/**
* 判断是否是空字符串 null和"" 都返回 true
*
* @author Robin Chang
* @param s
* @return
*/
public static boolean isEmpty(String s) {
if (s != null && !s.equals("")) {
return false;
}
return true;
}
public static void printJson(HttpServletResponse response, Object content) {
try {
response.reset();
response.setContentType("application/json");
response.setHeader("Cache-Control", "no-store");
response.setCharacterEncoding("UTF-8");
PrintWriter pw = response.getWriter();
String json = JSONObject.toJSONString(content);
pw.print(json);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void printJson(HttpServletResponse response, String content) {
try {
response.reset();
response.setContentType("application/json");
response.setHeader("Cache-Control", "no-store");
response.setCharacterEncoding("UTF-8");
PrintWriter pw = response.getWriter();
pw.write(content);
pw.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 判断是否为数字
*
* @Title: isNumeric
* @Description: 判断是否为数字
* @param str
* @return
* @return: boolean
*/
public static boolean isNumeric(String str) {
for (int i = 0; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) {
return false;
}
}
return true;
}
/**
*
* @title: camelToUnderline
* @description: 驼峰转下划线
* @param param
* @return
* @return: String
*/
public static String camelToUnderline(String param) {
if (param == null || "".equals(param.trim())) {
return "";
}
int len = param.length();
StringBuilder sb = new StringBuilder(len);
for (int i = 0; i < len; i++) {
char c = param.charAt(i);
if (Character.isUpperCase(c)) {
sb.append('_');
sb.append(Character.toLowerCase(c));
} else {
sb.append(c);
}
}
return sb.toString();
}
/**
*
* @title: underlineToCamel
* @description:下划线转驼峰
* @param param
* @return
* @return: String
*/
public static String underlineToCamel(String param) {
if (param == null || "".equals(param.trim())) {
return "";
}
int len = param.length();
StringBuilder sb = new StringBuilder(len);
for (int i = 0; i < len; i++) {
char c = param.charAt(i);
if (c == '_') {
if (++i < len) {
sb.append(Character.toUpperCase(param.charAt(i)));
}
} else {
sb.append(c);
}
}
return sb.toString();
}
/**
* A hashing method that changes a string (like a URL) into a hash suitable
* for using as a disk filename.
*/
public static String hashKeyForDisk(String key) {
String cacheKey;
try {
final MessageDigest mDigest = MessageDigest.getInstance("MD5");
mDigest.update(key.getBytes());
cacheKey = bytesToHexString(mDigest.digest());
} catch (NoSuchAlgorithmException e) {
cacheKey = String.valueOf(key.hashCode());
}
return cacheKey;
}
private static String bytesToHexString(byte[] bytes) {
// http://stackoverflow.com/questions/332079
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
String hex = Integer.toHexString(0xFF & bytes[i]);
if (hex.length() == 1) {
sb.append('0');
}
sb.append(hex);
}
return sb.toString();
}
/**
*
* @title: getExtensionName
* @description: Java文件操作 获取文件扩展名
* @param filename
* @return
* @return: String
*/
public static String getExtensionName(String filename) {
if ((filename != null) && (filename.length() > 0)) {
int dot = filename.lastIndexOf('.');
if ((dot > -1) && (dot < (filename.length() - 1))) {
return filename.substring(dot + 1);
}
}
return filename;
}
/**
*
* @title: getFileNameNoEx
* @description: Java文件操作 获取不带扩展名的文件名
* @param filename
* @return
* @return: String
*/
public static String getFileNameNoEx(String filename) {
if ((filename != null) && (filename.length() > 0)) {
int dot = filename.lastIndexOf('.');
if ((dot > -1) && (dot < (filename.length()))) {
return filename.substring(0, dot);
}
}
return filename;
}
public static String randomUUID() {
UUID uuid = UUID.randomUUID();
return uuid.toString().replace("-", "");
}
public static boolean isNumericAndDot(String str) {
if (str == null || str.trim().equals("")) {
return false;
}
Pattern pattern = Pattern.compile("-?[0-9]+.?[0-9]*([Ee]{1}[0-9]+)?");
Matcher isNum = pattern.matcher(str);
if (!isNum.matches()) {
return false;
}
return true;
}
/**
* 去除字符串首尾出现的某个字符.
*
* @param source
* 源字符串.
* @param element
* 需要去除的字符.
* @return String.
*/
public static String trimFirstAndLastChar(String source, char element) {
boolean beginIndexFlag = true;
boolean endIndexFlag = true;
do {
int beginIndex = source.indexOf(element) == 0 ? 1 : 0;
int endIndex = source.lastIndexOf(element) + 1 == source.length() ? source.lastIndexOf(element)
: source.length();
source = source.substring(beginIndex, endIndex);
beginIndexFlag = (source.indexOf(element) == 0);
endIndexFlag = (source.lastIndexOf(element) + 1 == source.length());
} while (beginIndexFlag || endIndexFlag);
return source;
}
/**
* 缩略字符串(不区分中英文字符)
*
* @param str
* 目标字符串
* @param length
* 截取长度
* @return
*/
public static String abbr(String str, int length) {
if (str == null) {
return "";
}
try {
StringBuilder sb = new StringBuilder();
int currentLength = 0;
for (char c : replaceHtml(StringEscapeUtils.unescapeHtml4(str)).toCharArray()) {
currentLength += String.valueOf(c).getBytes("GBK").length;
if (currentLength <= length - 3) {
sb.append(c);
} else {
sb.append("...");
break;
}
}
return sb.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return "";
}
/**
* 替换掉HTML标签方法
*/
public static String replaceHtml(String html) {
if (isBlank(html)) {
return "";
}
String regEx = "<.+?>";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(html);
String s = m.replaceAll("");
return s;
}
/**
* 转换为字节数组
*
* @param bytes
* @return
*/
public static String toString(byte[] bytes){
try {
return new String(bytes, CHARSET_NAME);
} catch (UnsupportedEncodingException e) {
return EMPTY;
}
}
/**
* 转换为字节数组
* @param str
* @return
*/
public static byte[] getBytes(String str){
if (str != null){
try {
return str.getBytes(CHARSET_NAME);
} catch (UnsupportedEncodingException e) {
return null;
}
}else{
return null;
}
}
public static String toFormatterValue(List datas, String label, String value) {
String formaterValues = "";
for (Object data : datas) {
if (!StringUtils.isEmpty(formaterValues)) {
formaterValues+=";";
}
String labelValue = Reflections.getFieldValue(data, label) + "";
String valueValue = Reflections.getFieldValue(data, value) + "";
String formaterValue = valueValue + ":" + labelValue;
formaterValues+=formaterValue;
}
return formaterValues;
}
}