一、包的整理:
我先定义一个所有应用的默认包
<package name="5java-base" extends="struts-default" >
这个包默认不包含一般的action的,但可以包括全局的定义,比如interceptor的定义,global-result,exception等等,这样组织起来就很方便。
基至可以按照包的层次进行管理base包下包含文章系统包,论坛包,博客包。文章系统包又可以包含前台,后台等
二、struts的配置:
<result name="success" type="redirect">
${urlpath}
</result>
这种表示映射的地址是一种动态,可以在action中动态配置路径。只需要你在action中设置一个urlpath以及相对应get,set方法,然后在execute()中将这个urlpath更改为你需要的路径,当然要注意,这个路径是类似于在struts中配置的形式一样,以“/”开始,并且以相对路径结尾。也就是类似于:urlpath="/admin/listUser.action?userType="+userType+"&page="+page;
三、tag的使用:
1.struts2的s类标签,默认是会增加css,table等布局控件的,也就是如果你希望用自己美工的css等进行设置的话,你会发现,这是多么一件难以完成的工作,但不要紧,tag中还有一个属性theme(主题),这个时候只要设置:theme="simple",就可以了。这时候,你会发现,所有的布局又恢复了,多么值得庆幸的一件事情。
2.但是还有一个问题:通过validation返回的验证器怎么显示给用户呢?
我以前并不知道,甚至试图使用request.getAttributeValues()来输出所有的值。其实很简单,使用<s:fielderror /> 就好了,在这个位置,所有使用validation.xml中返加的错误,以及addFieldError()方法添加的错误信息都显示出来了.
3.select的使用。
<s:select
name="user.userPurview"
list="#{'user':'普通用户', 'superuser':'超级用户', 'admin':'管理员'}"
/>
够简单了吧,使用user与普通用户对应,admin与管理员对应,提交到一个叫做user对象的userPurivew的属性。