Struts2之interceptor(拦截器)
来源:互联网 发布:网络系统安全架构 编辑:程序博客网 时间:2024/06/09 19:35
Struts拦截器以及源码解析
2. Struts执行过程分析
3. Interceptor拦截器过程模拟
4. 定义自己的拦截器
a) acegi – spring security
5. 使用token拦截器控制重复提交(很少用)
6. 类型转换
a) 默认转换
i. 日期处理
b) 写自己的转换器:
public class MyPointConverter extends DefaultTypeConverter{
@Override
public Object convertValue(Object value, Class toType) {
if(toType == Point.class) {
Point p = new Point();
String[] strs = (String[])value;
String[] xy = strs[0].split(",");
}
if(toType == String.class) {
return value.toString();
}
return super.convertValue(value, toType);
}
}
public class MyPointConverter extends StrutsTypeConverter{
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
Point p = new Point();
String[] strs = (String[])values;
String[] xy = strs[0].split(",");
p.x = Integer.parseInt(xy[0]);
p.y = Integer.parseInt(xy[1]);
return p;
}
@Override
public String convertToString(Map context, Object o) {
// TODO Auto-generated method stub
return o.toString();
}
}
c) 三种注册方式:
i. 局部:XXXAction-conversion.properties
1. p(属性名称) = converter
ii. 全局:xwork-conversion.properties
1. com.xxx.XXX(类名)= converter
iii. Annotation
d) 如果遇到非常麻烦的映射转换
i. request.setAttribute();
ii. session
1. Struts架构图
a) 见文档2. Struts执行过程分析
3. Interceptor拦截器过程模拟
4. 定义自己的拦截器
a) acegi – spring security
5. 使用token拦截器控制重复提交(很少用)
6. 类型转换
a) 默认转换
i. 日期处理
b) 写自己的转换器:
public class MyPointConverter extends DefaultTypeConverter{
@Override
public Object convertValue(Object value, Class toType) {
if(toType == Point.class) {
Point p = new Point();
String[] strs = (String[])value;
String[] xy = strs[0].split(",");
p.x = Integer.parseInt(xy[0]);
p.y = Integer.parseInt(xy[1]);
return p;}
if(toType == String.class) {
return value.toString();
}
return super.convertValue(value, toType);
}
}
public class MyPointConverter extends StrutsTypeConverter{
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
Point p = new Point();
String[] strs = (String[])values;
String[] xy = strs[0].split(",");
p.x = Integer.parseInt(xy[0]);
p.y = Integer.parseInt(xy[1]);
return p;
}
@Override
public String convertToString(Map context, Object o) {
// TODO Auto-generated method stub
return o.toString();
}
}
c) 三种注册方式:
i. 局部:XXXAction-conversion.properties
1. p(属性名称) = converter
ii. 全局:xwork-conversion.properties
1. com.xxx.XXX(类名)= converter
iii. Annotation
d) 如果遇到非常麻烦的映射转换
i. request.setAttribute();
ii. session
- Struts2之interceptor(拦截器)
- Struts2 之拦截器interceptor(1)
- Struts2 之拦截器interceptor(2)
- Struts2 之拦截器interceptor(3)
- struts2之拦截器(interceptor)
- struts2学习笔记之拦截器(Interceptor)
- struts2拦截器interceptor 之 ActionInvocation 意
- struts2学习笔记之拦截器(Interceptor)
- Struts2拦截器(Interceptor)
- Struts2拦截器(Interceptor)
- struts2 拦截器 interceptor
- struts2 拦截器 interceptor
- Struts2拦截器(Interceptor)
- Struts2拦截器(Interceptor)
- Struts2拦截器(Interceptor)
- Struts2拦截器(Interceptor)
- Struts2拦截器(Interceptor)
- Struts2拦截器(Interceptor)
- tiny6410用usb-wifi命令行连wifi问题
- NullPointerException空指针异常
- panda3d 解读Roaming Ralph程序
- nokia 5300 j2me开发问题
- 改变html默认select下拉框的样式
- Struts2之interceptor(拦截器)
- launcher 学习网址
- 服务器端和客户端不同类型语言编译问题
- 论hibernate中的session.flush()和transaction.commit()的差异
- jsp中静态包含和动态包含小结
- HDU 1573 X问题 (中国剩余定理解的个数)
- Objective-C——消息、Category和Protocol
- 环境变量(转)
- 使用log4j扩展包的RollingFileAppender生成带时间戳的日志文件