package com.opslab.util.web;

import com.opslab.util.ConvertUtil;
import com.opslab.util.StringUtil;

import java.io.UnsupportedEncodingException;

/**
* 提供Web相关的个工具类
*/
public final class WebUtil {

/**
* 对字符串进行编码
*
* @param str 需要处理的字符串
* @param encoding 编码方式
* @return 编码后的字符串
*/
public static String escape(String str, String encoding) throws UnsupportedEncodingException {
if (StringUtil.isEmpty(str)) {
return "";
}
char[] chars =ConvertUtil.bytesToChars(ConvertUtil.encodeBytes(str.getBytes(encoding), '%'));
return new String(chars);
}

/**
* 对字符串进行解码
*
* @param str 需要处理的字符串
* @param encoding 解码方式
* @return 解码后的字符串
*/
public static String unescape(String str,String encoding){
if(StringUtil.isEmpty(str)){
return "";
}
return UrlUtil.decodeQuery(str, encoding);
}

/**
* HTML标签转义方法
*
* 空格  
< 小于号 &lt;
> 大于号 &gt;
& 和号 &amp;
" 引号 &quot;
' 撇号 &apos;
¢ 分 &cent;
£ 镑 &pound;
¥ 日圆 &yen;
€ 欧元 &euro;
§ 小节 &sect;
© 版权 &copy;
® 注册商标 &reg;
™ 商标 &trade;
× 乘号 &times;
÷ 除号 &divide;
*/
public static String unhtml(String content) {
if (StringUtil.isEmpty(content)) {
return "";
}
String html = content;
html = html.replaceAll("'", "&apos;");
html = html.replaceAll("\"", "&quot;");
html = html.replaceAll("\t", "&nbsp;&nbsp;");// 替换跳格
html = html.replaceAll("<", "&lt;");
html = html.replaceAll(">", "&gt;");
return html;
}
public static String html(String content) {
if (StringUtil.isEmpty(content)) {
return "";
}
String html = content;
html = html.replaceAll("&apos;", "'");
html = html.replaceAll("&quot;", "\"");
html = html.replaceAll("&nbsp;", " ");// 替换跳格
html = html.replaceAll("&lt;", "<");
html = html.replaceAll("&gt;", ">");
return html;
}

}

提供Web相关的个工具类的更多相关文章

  1. Java Class与反射相关的一些工具类

    package com.opslab.util; import org.apache.log4j.Logger; import java.io.File;import java.io.IOExcept ...

  2. web中CookieUtils的工具类

    该类中包含Web开发中对Cookie的常用操作,如需要Copy带走 package com.project.utils; import java.io.UnsupportedEncodingExcep ...

  3. java web 导出Excel 的工具类公用实现

    平时我们在开发后端管理的系统时,经常会出现导出Excel的功能.这个功能很简单,但是呢,我一般就会使用公用的工具类,在一个Util中,暴露公用导出的接口,只需要传入需要导出的数据(一般使用list集合 ...

  4. spring 提供的属性值拷贝工具类

    当需要把一个原生的类中属性拷贝到扩展类中时,使用以下类很方便:

  5. Java工具类——日期相关的类

    前言 在日常的开发工作当中,我们经常需要用到日期相关的类(包括日期类已经处理日期的类),所以,我就专门整理了一篇关于日期相关的类,希望可以帮助到大家. 正文 一.日期类介绍 在 Java 里面,操作日 ...

  6. Spring 的优秀工具类盘点

    文件资源操作 文件资源的操作是应用程序中常见的功能,如当上传一个文件后将其保存在特定目录下,从指定地址加载一个配置文件等等.我们一般使用 JDK 的 I/O 处理类完成这些操作,但对于一般的应用程序来 ...

  7. 2015第30周三Spring常用工具类

    文件资源操作 文件资源的操作是应用程序中常见的功能,如当上传一个文件后将其保存在特定目录下,从指定地址加载一个配置文件等等.我们一般使用 JDK 的 I/O 处理类完成这些操作,但对于一般的应用程序来 ...

  8. Spring 的优秀工具类盘点第 2 部分

    特殊字符转义 由于 Web 应用程序需要联合使用到多种语言,每种语言都包含一些特殊的字符,对于动态语言或标签式的语言而言,如果需要动态构造语言的内容时,一个我们经常会碰到的问题就是特殊字符转义的问题. ...

  9. Spring 的优秀工具类盘点第 1 部分

    文件资源操作 文件资源的操作是应用程序中常见的功能,如当上传一个文件后将其保存在特定目录下,从指定地址加载一个配置文件等等.我们一般使用 JDK 的 I/O 处理类完成这些操作,但对于一般的应用程序来 ...

随机推荐

  1. 获取类范形的Class

    public class Test<T>{ } Type genType = getClass().getGenericSuperclass(); Type[] params = ((Pa ...

  2. Exec Maven插件

    1.为什么使用exec? 现在的工程往往依赖 众多的jar包,不像war包工程,对于那些打包成jar包形式的本地java应用来说,通过java命令启动将会是一件极为繁琐的事情,原因很简单,太 多的依赖 ...

  3. Tiny C Compiler简介-wiki

    Tiny C Compiler(缩写为TCC.tCc或TinyCC)是一个用于x86(16/32位)或x86-64(64位)系统的C编译器,开发者为Fabrice Bellard.软件是设计用于低级计 ...

  4. python的种类有哪些?

    CPython 当我们从Python官方网站下载并安装好Python 3.6后,我们就直接获得了一个官方版本的解释器:CPython.这个解释器是用C语言开发的,所以叫CPython.在命令行下运行p ...

  5. C#格式化字符串使用

    1 前言 如果你熟悉Microsoft Foundation Classes(MFC)的CString,Windows Template Library(WTL)的CString或者Standard ...

  6. HDFS的读机制

    HDFS的读机制: 1.初始化FileSystem ,客户端调用FileSystem 中的open方法打开文件. 2.FileSystem 调用远程RPC服务,获取namenode上的文件的数据块信息 ...

  7. (转载) 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁 ...

  8. CocoaPods加载第三方库

    http://code4app.com/article/cocoapods-install-usage

  9. 洛谷 P3375 【模板】KMP字符串匹配 题解

    KMP模板,就不解释了 #include<iostream> #include<cstdio> #include<cstring> #include<algo ...

  10. Kubernetes 学习7 Pod控制器应用进阶2

    一.容器探测器 1.所谓的容器探测无非就是我们在里面设置了一些探针,或者称之为传感器来获取相应的数据作为判定其存活与否或就绪与否的标准,目前k8s所支持的存活性和就绪性探测方式都是一样的. 2.k8s ...