5.使用token控制重复提交(很少用)
6.类型转换

a)默认转换
i.日期处理
b)写自己的转换器:
publicclassMyPointConverterextendsDefaultTypeConverter{
@Override
publicObjectconvertValue(Objectvalue,ClasstoType){
if(toType==Point.class){
Pointp=newPoint();
String[]strs=(String[])value;
String[]xy=strs[0].split(",");
p.x=Integer.parseInt(xy[0]);
p.y=Integer.parseInt(xy[1]);
returnp;
}
if(toType==String.class){
returnvalue.toString();
}
returnsuper.convertValue(value,toType);
}
}
下面类型转换的类较常用!
publicclassMyPointConverterextendsStrutsTypeConverter{
@Override
publicObjectconvertFromString(Mapcontext,String[]values,ClasstoClass){
Pointp=newPoint();
String[]strs=(String[])values;
String[]xy=strs[0].split(",");
p.x=Integer.parseInt(xy[0]);
p.y=Integer.parseInt(xy[1]);
returnp;
}
@Override
publicStringconvertToString(Mapcontext,Objecto){
//TODOAuto-generatedmethodstub
returno.toString();
}
}
c)三种注册方式:
i.局部:(属性名称)=XXXAction-conversion.properties
1.p(属性名称)=converter(转换器)
ii.全局:(类所在的包名,如:java.awt.Point)=xwork-conversion.properties
1.com.xxx.XXX(类名)=converter
iii.Annotation
d)如果遇到非常麻烦的映射转换
i.request.setAttribute();
ii.session
补充视频中讲解的内容
1.Lambda表达式
2.验证框架
3.UI标签
4.类型转换中的异常处理
5.上传与下载文件
6.Struts2注解
Struts2总结
1.Action
a)namespace(掌握):namespace决定了action的访问路径,默认为""(可以不写),即文件名前可以随便取名,可以接收所有路径的action,namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,/xxx/index.action,或者/xxx/yyy/index.action.namespace最好也用模块来进行命名(比如:开发的用户管理,则命名为“user”)
b)path(掌握):struts2中的路径问题是根据action的路径(action的name)而不是jsp路径来确定,所以尽量不要使用相对路径:/index.jsp等,虽然可以用redirect方式解决,但redirect方式并非必要。ognl lambda解决办法非常简单,统一使用绝对路径(basePath)。(在jsp中用request.getContextRoot方式来拿到webapp的路径)或者使用myeclipse经常用的,指定basePath
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-32049-4.html
如果它硬要当作经济问题来研究