自定义拦截器
来源:互联网 发布:win10 软件显示乱码 编辑:程序博客网 时间:2024/05/18 13:26
/**
* 拦截器表示 在action被调用之前
* true表示继续调用action
* false 中断调用
*/
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
HandlerMethod hm=(HandlerMethod)handler;
//action的实例
Object myObject=hm.getBean();
// user的结构
Field[] f=myObject.getClass().getDeclaredFields();
for(Field f1:f){
f1.setAccessible(true);
//获取 字段名 user
String name=f1.getName();
//获取字段 user的实例
Object obj=f1.get(myObject);
if(obj==null){
obj=f1.getType().newInstance();
f1.set(myObject, obj);
}
// 枚举所有的参数名称 user.userName=zs&user.password=123456&age=12
Enumeration<String> enu=request.getParameterNames();
while(enu.hasMoreElements()){
String paramName=enu.nextElement();
if(paramName.indexOf(".")>=0&& paramName.startsWith(name)){
// paramName 是 user.userName paramValue 是 zs
String paramValue=request.getParameter(paramName);
//获取到. userName
String pName=paramName.split("\\.")[1];
Field ff=obj.getClass().getDeclaredField(pName);
ff.setAccessible(true);
ff.set(obj, paramValue);
}
if(paramName.equals(name)){
// paramName 是 user.userName paramValue 是 zs
String paramValue=request.getParameter(paramName);
//获取到. userName
Field ff=myObject.getClass().getDeclaredField(paramName);
ff.setAccessible(true);
ff.set(myObject, paramValue);
}
}
}
return true;
}
* 拦截器表示 在action被调用之前
* true表示继续调用action
* false 中断调用
*/
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
HandlerMethod hm=(HandlerMethod)handler;
//action的实例
Object myObject=hm.getBean();
// user的结构
Field[] f=myObject.getClass().getDeclaredFields();
for(Field f1:f){
f1.setAccessible(true);
//获取 字段名 user
String name=f1.getName();
//获取字段 user的实例
Object obj=f1.get(myObject);
if(obj==null){
obj=f1.getType().newInstance();
f1.set(myObject, obj);
}
// 枚举所有的参数名称 user.userName=zs&user.password=123456&age=12
Enumeration<String> enu=request.getParameterNames();
while(enu.hasMoreElements()){
String paramName=enu.nextElement();
if(paramName.indexOf(".")>=0&& paramName.startsWith(name)){
// paramName 是 user.userName paramValue 是 zs
String paramValue=request.getParameter(paramName);
//获取到. userName
String pName=paramName.split("\\.")[1];
Field ff=obj.getClass().getDeclaredField(pName);
ff.setAccessible(true);
ff.set(obj, paramValue);
}
if(paramName.equals(name)){
// paramName 是 user.userName paramValue 是 zs
String paramValue=request.getParameter(paramName);
//获取到. userName
Field ff=myObject.getClass().getDeclaredField(paramName);
ff.setAccessible(true);
ff.set(myObject, paramValue);
}
}
}
return true;
}
阅读全文
0 0
- struts2 自定义拦截器
- 自定义拦截器(转)
- Struts2自定义拦截器
- 自定义拦截器
- Struts2自定义拦截器
- strust2自定义拦截器
- 自定义时间拦截器
- struts2自定义拦截器
- Struts2自定义拦截器
- 拦截器(自定义)
- Struts2自定义拦截器
- Struts2自定义拦截器
- 自定义异常拦截器
- Struts2自定义拦截器
- struts2自定义拦截器
- 自定义拦截器
- Struts2---自定义拦截器
- struts2自定义拦截器
- 机器学习中防止过拟合的处理方法
- PAT 1005 Spell It Right
- Android MVVM+DataBinding结合Dagger2进行开发
- Linux学习篇第三章之~samba
- ubuntu正确安装jdk
- 自定义拦截器
- 汇编语言: .写一段子程序 SKIPLINES,完成输出空行的功能。空行的行数由用户在主程序中通过 键盘输入,并将行数放在 AX 寄存器中。
- JDBC讲解
- 大家都在用的超级淘躺着都能赚钱
- shell脚本创建文件
- 数组:构建乘积数组
- Spring Boot jar 启动错误“due to missing embeddedServletContainerFactory.bean”
- 6、多个线程的共享数据
- CentOS6.4 配置iptables