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(对页面使用标签的标准定义)
最后就是使用标签了...