您的位置:首页 > Web前端 > HTML

特殊字符保存拦截-html标签等

2016-09-28 17:17 411 查看
1. 设置拦截器前面文中已有



2. spring jar包版本前文已有

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency></span>


3.  在拦截器中实现

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Map params = request.getParameterMap();
Iterator i$ = params.keySet().iterator();

while(i$.hasNext()) {
Object key = i$.next();
Object value = params.get(key);
if(value instanceof String[]) {
String[] str = (String[])((String[])value);

for(int result = 0; result < str.length; ++result) {
String result1 = HtmlUtils.htmlEscape(str[result]);
if(!result1.equals(str[result])) {
logger.getBuilder().error("包含非法字符:[{}]" + str[result]);
throw new BusinessException("您输入了非法字符,请检查修改后再操作,谢谢您的配合!");
}
}
}

if(value instanceof String) {
String var11 = (String)value;
String var12 = HtmlUtils.htmlEscape(var11);
if(!var12.equals(var11)) {
throw new BusinessException("您输入了非法字符,请检查修改后再操作,谢谢您的配合!");
}
}
}

return true;
}


4. 抛出 的BusinessException捕获,异常统一处理前文已有



5. BusinessException 异常定义

public class BusinessException extends RuntimeException {
private static final long serialVersionUID = xxxxxxxxxxL;

public BusinessException(String msg) {
super(msg);
}

public BusinessException(String msg, Throwable ex) {
super(msg, ex);
}
}


6. 前台页面

layer.confirm("确定要提交吗?", {title: "提示信息"}, function () {
$.ajax({
type: 'post',
url: '/xx/save',
data: $("#xxForm").serialize(),
error: function (data) {
showError(data);
},
success: function (data) {
if (data.code == 0) {
layer.msg(data.desc,{time:1000});
} else {
layer.alert(data.desc, {icon: 2, skin: 'layer-ext-moon', title: '提示信息'});
}
}
});
});


7. 错误统一处理  showError方法

function showError(obj) {
if(obj.status != 500) {
layer.alert("超时或系统异常", {icon: 2, skin: 'layer-ext-moon', title: '提示信息'});
} else {
layer.alert(obj.responseText, {icon: 2, skin: 'layer-ext-moon', title: '提示信息'});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  html springmvc