package common;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List;
/**
* 改变特殊字符
*
*/
public class ChangeTSChar {
private static String EncodeString(String inputContent)
{
//转义 单引号 .
inputContent = inputContent.replaceAll("'", "’");
// //转义 反斜杠 .
// inputContent = inputContent.replaceAll("\"", """);
// //转义 小于号 .
// inputContent = inputContent.replaceAll("<", "<");
// //转义 大于号 .
// inputContent = inputContent.replaceAll(">", ">");
// //转义 换行符 .
// inputContent = inputContent.replaceAll("\n", "<br>");
// //转义 空格 .
// inputContent = inputContent.replaceAll(" ", " ");
//返回 编码转换后的字符串.
return inputContent;
}
private static String DecodeString(String selectContent)
{
//转义 单引号 .
selectContent = selectContent.replaceAll("’", "'");
// //转义 反斜杠 .
// selectContent = selectContent.replaceAll(""", "\"");
// //转义 小于号 .
// selectContent = selectContent.replaceAll("<", "<");
// //转义 大于号 .
// selectContent = selectContent.replaceAll(">", ">");
// //转义 换行符 .
// selectContent = selectContent.replaceAll("<br>", "\n");
// //转义 空格 .
// selectContent = selectContent.replaceAll(" ", " ");
//返回 编码转换后的字符串.
return selectContent;
}
@SuppressWarnings("unchecked")
private static void excute(Object obj,String type)throws Exception{
Class objClass = obj.getClass();
Field[] fields = objClass.getDeclaredFields();
boolean flag1 = true;
boolean flag2 = true;
for(Field methodname:fields){
String getmethodName = "get"+methodname.getName().substring(0,1).toUpperCase()+methodname.getName().substring(1);
String setmethodName = "set"+methodname.getName().substring(0,1).toUpperCase()+methodname.getName().substring(1);
Method [] getMethods = obj.getClass().getMethods();
Method [] setMethods = obj.getClass().getMethods();
for(int i=0;i<getMethods.length;i++){
if(getMethods[i].getName().equals(getmethodName)){
flag1 = false;
break;
}else{
flag1 = true;
}
}
for(int i=0;i<setMethods.length;i++){
if(setMethods[i].getName().equals(setmethodName)){
flag2 = false;
break;
}else{
flag2 = true;
}
}
if(flag1||flag2){
continue;
}else if(!"class java.lang.String".equals(methodname.getType().toString())){
continue;
}
Method getMethod = obj.getClass().getMethod(getmethodName, new Class[]{});
Method setMethod = obj.getClass().getMethod(setmethodName, new Class[]{methodname.getType()});
String value = (String)getMethod.invoke(obj, new Object[]{});
if(value != null){
if(type!=null&&type.equals("encode")){
value = EncodeString(value);
}else if(type!=null&&type.equals("decode")){
value = DecodeString(value);
}
setMethod.invoke(obj, new Object[]{value});
}
}
}
/**
* 将特殊字符转换成默认字符
* @param obj
*/
public static void encode(Object obj){
if(obj == null){
return ;
}
try {
excute(obj, "encode");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 将默认字符转换成特殊字符
* @param obj
*/
public static void decode(Object obj){
if(obj == null){
return;
}
try {
excute(obj, "decode");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 解译
* @param list
*/
public static void decodeList(List<Object> list){
if(list!=null){
for (Object object : list) {
decode(object);
}
}
}
/**
* 转译
* @param list
*/
public static void encodeList(List<Object> list){
if(list!=null){
for (Object object : list) {
encode(object);
}
}
}
}
分享到:
相关推荐
Spring MVC下彻底解决@ResponseBody转义html特殊字符问题,解决包括尖角号(),单引号('),双引号("),按位与(&),反斜杠(\)。
正则表达式特殊字符的转义,常用网页特殊字符转义,网络爬虫特殊字符处理
C#中需要转义的特殊符号给变量赋值的时候,转义字符必须使用单引号引住
Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串 print(‘shi\jiazhuang') print(r‘shi\jiazhuang') shi jiazhuang shi\jiazhuang String(字符串) ...
常用HTML转义字符,html转义符,JavaScript转义符,html转义字符表,HTML语言特殊字符对照表(ISO Latin-1字符集) - 来源:嘻嘻网 114_xixik_com_files
kindeditor特殊符号被转义 kindeditor 编辑器添加图片、flash,还有视频时路径出错
首要条件需要由adb 环境 第一步:先安装插件 adb shell ime set ... 第二步:就是使用命令输入了 adb shell am broadcast -a ADB_INPUT_TEXT -es msg '我喜欢AIMING & 爱上^ 2' 用法很简单,你学废了吗?
java csv 读写框架特殊字符转义.docx
web开发时 html 页面 特殊字符转义大全 如 引号 冒号 空格等等
select * fromtablewhere number like ‘%/%%’ escape ‘/’… sqlite3数据库在搜索的时候,..._ -> /_ ( -> /( ) -> /)需要注意的是,特殊字符并没有用反斜杠“\”表示转义符。 代码如下:public static S
HTML转义字符大全:ISO Latin-1字符集,各种字符的转义
特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)
i18n Locale ResourceBundle MessageFormat 使用例子 在struts2学习开始前需要普及的知识点
2. * 校验所有输入域是否含有特殊符号 3. * 所要过滤的符号写入正则表达式中,注意,一些符号要用'\'转义. 4. * 要转义的字符包括:1, 点号 . 5. * 2, 中括号 [] 6. * 3, 大括号 {} 7. * 4, 加号 + 8. ...
转义表单提交字符处理函数,可用于php或javascript的字符处理函数列表
代码包含: EscapeUtil.java:特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%...
这个程序实现去掉事先约定好的特殊字符,比如去掉文档中的所有“,”
NULL 博文链接:https://yxwang0615.iteye.com/blog/1045770
lotus domino AJAX 转义ls 特殊符号
完整的HTML特殊字符转义对照表,一表在手,放心使用,从此告别百度