1,为什么需要进行编码设置?
连接协议要求,使访问方式更安全,同事前台传入的参数需要进行加密2次加密,后台解密,这样是一套完整的过程。
前台2次加密:var userName = encodeURI(encodeURI(userName)); 释:username为输入框id元素保持一致
后台解密:userCode = URLDecoder.decode(userCode, "utf-8"); 注释;usercode为变量前台id和后台的一致
正常情况下后台解密是可以通过model整个进行解密,requst.请求方式,也可以直接在model层的set时候进行设置。
public final void setUserCode(String userCode) {
if (userCode != null) {
try {
userCode = URLDecoder.decode(userCode, "utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.userCode = userCode;
}
注释:问题 :资产信息管理项目中前台设置编码一直处于无效效果,经排查是前台在调用action中查询方法时候调用是每个字段的查询条件,经修改直接调用from表中id值(输入框字段在from中)
strActionURL+="list.do?"+$('upc_User').toQueryString();
from 中id=“upc_User”
纠正错误:在每次进行解密的时候,必须判空,不然执行会爆出空指针错误信息
if (StringUtils.isNotEmpty(groupName))StringUtils为工具类jdk中的工具类
{ 进行解密 }
网友评论