1、sitemesh-2.2.1 标签。该标签主要是一个应用模版标签,用来控制页面的模版布局,应用中在decorators文件夹里编辑好网页的模版内容,例如:<decorator:body/> 这表示引用套入模版页面的主体body区,在WEB-INF文件夹中的decorators.xml文件里写入模版文件实现如下引用:
<decorator name="sitemeshtest" page="sitemeshtest.jsp">
<pattern>/sitemesh/xinfang.jsp</pattern>
</decorator>
即可以将sitemesh目录下的xinfang.jsp文件套入到sitemeshtest模版中应用。
2、webwork-2.1.7 标签。Webwork标签是一款功能极为强大的标签组,其提供了很多类似静态html中的标签,ui标签的验证功能也是非常强大的,其验证错误提示应用起来也是相当的简单,如果要实现webwork的验证功能,以下以用户注册为例简要说明webwork的使用方法:
只需要在xwork.xml文件中相应的personSignup中加入
<action name="personSignup" class="mf.zhhouse.common.security.action.PersonSignup">
<external-ref name="manager">userManager</external-ref>
<interceptor-ref name="validationStack"/> //这句话就是要在输入时做验证
<result name="cancel" type="redirect">/main.action</result>
<result name="error">/common/personSignup.jsp</result>
<result name="input">/common/personSignup.jsp</result>
<result name="success" type="redirect">/common/personSignupSuccess.jsp</result>
</action>
然后在personSignup-validation.xml文件中加入以下配置文件:
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
<validators>
<field name="user">
<field-validator type="visitor">
<param name="appendPrefix">false</param>
<message/>
</field-validator>
</field>
</validators>
在/**/model-src/mf/zhhouse/hb/common/security/ 目录下创建PersonUser-validation.xml文件并加入下列内容:
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
<validators>
<field name="firstName">
<field-validator type="stringlength">
<message>请输入姓名</message>
</field-validator>
</field>
</validators>
即可实现对提交内容做相关的验证,webwork提供了很多验证规则,具体验证规则,请参考webwork帮助文档,这里就不再累述了。如果希望在验证后将用户输入的信息显示出来,在webwork标签中应该这样写:
<ww:textfield label="'您的姓名'" name="'user.firstName'" value="user.firstName" required="true" />
在相应的DAO接口中也要注意定义
public void setUser(PersonUser user) //user就是获取时内容,如果不是则就不能将原来的值显示出来了,这是我做后来的分类信息修改时的一点总结,用户通过email的地址取回的值无法显示,是这个地方弄错了{
this.user = user;
}
3、displaytag-1.0 标签,这个标签也是一个很好的web标签,其实现了个各种样式的表格,主要用在hibernate取出数据后在前台页面的显示上,通过改变样式来得到不同的显示风格。这样就大大简化了开发时困难度,当然display在分页时有一些问题,其每次得到list都是全部得到再根据用户需要的部分显示,这样的话如果数据量太多,可能导致程序无法正常运行,所以这点地方一定要考虑到,所以用了hibernatelist,hibernatelist类在分页时做了处理,这也可能是当时网页数据量大的时候的很慢的一个原因吧!具体display标签请参考帮助文档,帮助文档中有很多对应的属性,每个属性都对应的某种处理结果!