c)DMI(!+方法名)(掌握):Action执行的时候并不一定要执行execute方法,可以在配置文件中配置Action的时候用method=来指定执行哪个方法,也可以在url地址中动态指定(action名!方法名)(动态方法调用DMI)(推荐),前者会产生太多的action,所以不推荐使用:例子:0500
d)Wildcard(通配符的配置)(掌握):使用通配符,将配置量降到最低;不过,一定要遵守“约定优于配置”的原则;
例子:struts.xml中的代码:<actionname="*_*"class="com.bjsxt.struts2.action.{1}Action"method="{2}">大括号中的1与2表示*号的第几个;0600
e)接收参数(掌握前两种)0700/0800:
①通过action类的属性接受参数;
②通过DomainModel接受参数:另外定义一个类(DomainModel)通过定义当中属性的set/get来接受以及传递参数,然后再在action类中定义此类的对象以及关于对象的set/get方法;当遇到DomainModel接受不了的参数时,我们要使用DTO类来接受参数(了解);
f)接受页面中参数的方法(掌握MapIOC方式)1200,视频21/22
g)简单数据验证(掌握addFieldError和<s:fieldError)
Action类中数据验证的代码:
if(name==null||!name.equals("admin")){
this.addFieldError("name","nameiserror");
this.addFieldError("name","nameistoolong");
returnERROR;
}
JSP中显示错误信息的代码:
<s:fielderrorfieldName="name"theme=""/>
<s:propertyvalue="errors.name[0]"/>
2.Result
a)结果类型(掌握四种,重点前两种):1500
①dispatcher(默认):运用服务器跳转,默认状态,只能跳转到页面,不能跳转到另外一个action,URL中显示的是action地址;
如:<resulttype="dispatcher">/r1.jsp</result>
②redirect:客户端跳转,也只能跳转到页面,不能跳转到另外的action,URL中显示的是JSP地址
如:<resulttype="dispatcher">/r1.jsp</result>
③chain:如:<resulttype="chain">r1</result>注意前面不要加“/”,若action不是在同一包中,则"包名/r1"
④redirectAction
b)全局结果(掌握):1600
例子:<global-results>
<resultname="mainpage">/main.jsp</result>
</global-results>
c)动态结果(了解):1700
例子:action中的代码:publicStringexecute()throwsException{
if(type==1)r="/user_error.jsp";
elseif(type==2)r="/user_success.jsp";
return"success";
}
Struts.xml中的代码:<result>${r}</result>
3.OGNL表达式(精通)
参考代码:1900
4.Struts标签
a)掌握常用的
5.声明式异常处理(了解)
6.I18N(了解)
7.CRUD的过程(最重要是设计与规划)(精通)
8.Interceptor的原理(掌握)
9.类型转换(掌握默认,了解自定义)
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-32049-5.html
北洋没有