您的位置:首页 > 编程语言 > Java开发

重写struts2的TEXT标签对象以实现自己想在标签上增加默认显示内容的功能

2010-10-29 11:13 309 查看
1.准备好STRUTS2的源码

2.struts2中两个与标签相关的package

org.apache.struts2.components : 标签对象所对就的JAVA数据处理对象

org.apache.struts2.views.jsp : 与前台页面标签对应的JAVA端标签对象

在自己项目中src下创建出上面两个package

3.将struts2源码中对应的Text和TextTag复制到自己项目中对应的package下

4.分别在Text和TextTag对象中增加一个成员变量String desc,并访照成员变量name的set方法实现desc的set方法

5.在Text对象的end(Writer,String)方法中的if(msg!=null)前增加语句:msg = (msg==null||msg.length()==0)?desc:msg;

6.修改struts2的tag定义文件,从struts2的JAR包中找到struts-tags.tld并修改name='text'的tag标签,在此标签下增加属性desc,如何设置访照属性var的设置,设置好后保存

7.以上步骤做好后,就可以在自己的项目中使用自己定义的功能了

如:

<s:text name="aa" desc="default" />

解释:首先从struts2的资源文件中查找出key为aa的value值,如果没有定义这KEY或这KEY的值为空,那这时就使用desc定义的默认值显示到页面,如果能正常找到key为aa的值,则正常返回其value值.

此desc属性就是在自己扩展出来的属性,在原来的text标签是没有这属性的.

总结:

关键文件:

Text(从资源文件找出数据)

TextTag(将找出的数据返回到前台页面)

struts-tags.tld(对页面使用标签的标准定义)

最后就是使用标签了...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐