A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xbs783 中级黑马   /  2016-11-5 13:00  /  619 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    /**
     * Copyright &copy; 2012-2013 <a >JeeSite</a> All rights reserved.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     */  
    package com.midai.util;  
      
    import java.io.UnsupportedEncodingException;  
    import java.util.Locale;  
    import java.util.regex.Matcher;  
    import java.util.regex.Pattern;  
      
    import javax.servlet.http.HttpServletRequest;  
      
    import org.apache.commons.lang3.StringEscapeUtils;  
    import org.springframework.web.context.request.RequestContextHolder;  
    import org.springframework.web.context.request.ServletRequestAttributes;  
      
    /**
     * 字符串工具类, 继承org.apache.commons.lang3.StringUtils类
     * @author ThinkGem
     * @version 2013-05-22
     */  
    public class StringUtils extends org.apache.commons.lang3.StringUtils {  
         
        public static String lowerFirst(String str){  
            if(StringUtils.isBlank(str)) {  
                return "";  
            } else {  
                return str.substring(0,1).toLowerCase() + str.substring(1);  
            }  
        }  
         
        public static String upperFirst(String str){  
            if(StringUtils.isBlank(str)) {  
                return "";  
            } else {  
                return str.substring(0,1).toUpperCase() + str.substring(1);  
            }  
        }  
      
        /**
         * 替换掉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 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)
         * @param str 目标字符串
         * @param length 截取长度
         * @return
         */  
        public static String rabbr(String str, int length) {  
            return abbr(replaceHtml(str), length);  
        }  
              
         
        /**
         * 转换为Double类型
         */  
        public static Double toDouble(Object val){  
            if (val == null){  
                return 0D;  
            }  
            try {  
                return Double.valueOf(trim(val.toString()));  
            } catch (Exception e) {  
                return 0D;  
            }  
        }  
      
        /**
         * 转换为Float类型
         */  
        public static Float toFloat(Object val){  
            return toDouble(val).floatValue();  
        }  
      
        /**
         * 转换为Long类型
         */  
        public static Long toLong(Object val){  
            return toDouble(val).longValue();  
        }  
      
        /**
         * 转换为Integer类型
         */  
        public static Integer toInteger(Object val){  
            return toLong(val).intValue();  
        }  
         
         
        /**
         * 获得用户远程地址
         */  
        public static String getRemoteAddr(HttpServletRequest request){  
            String remoteAddr = request.getHeader("X-Real-IP");  
            if (isNotBlank(remoteAddr)) {  
                remoteAddr = request.getHeader("X-Forwarded-For");  
            }else if (isNotBlank(remoteAddr)) {  
                remoteAddr = request.getHeader("Proxy-Client-IP");  
            }else if (isNotBlank(remoteAddr)) {  
                remoteAddr = request.getHeader("WL-Proxy-Client-IP");  
            }  
            return remoteAddr != null ? remoteAddr : request.getRemoteAddr();  
        }  
         
    }  

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马