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

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(对页面使用标签的标准定义)

 

最后就是使用标签了...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现公共底部的效果,你可以使用JSP的自定义标签库。下面是实现的详细步骤: 步骤一:创建自定义标签处理类 1. 创建一个Java类,作为自定义标签的处理类,例如名为FooterTag.java。 2. 在该类中继承javax.servlet.jsp.tagext.TagSupport类,并重写doStartTag方法。 ```java import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; public class FooterTag extends TagSupport { @Override public int doStartTag() throws JspException { try { pageContext.include("/WEB-INF/views/common/footer.jsp"); } catch (Exception e) { e.printStackTrace(); } return SKIP_BODY; } } ``` 步骤二:创建标签库描述文件 1. 在Web项目的WebContent目录下创建一个名为taglib.tld的XML文件,用于描述自定义标签库。 2. 在taglib.tld文件中添加以下内容: ```xml <?xml version="1.0" encoding="UTF-8"?> <taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1"> <tlib-version>1.0</tlib-version> <short-name>footer</short-name> <uri>http://example.com/footer</uri> <tag> <name>footer</name> <tag-class>com.example.FooterTag</tag-class> <body-content>empty</body-content> </tag> </taglib> ``` 步骤三:创建公共底部视图文件 1. 在Web项目的WEB-INF目录下创建一个名为views的文件夹。 2. 在views文件夹下创建一个名为common的文件夹。 3. 在common文件夹下创建一个名为footer.jsp的JSP文件,用于显示公共底部内容。 步骤四:引入自定义标签库并使用 1. 在需要显示公共底部的JSP页面中,引入自定义标签库。在页面的开头添加以下代码: ```jsp <%@ taglib prefix="footer" uri="http://example.com/footer" %> ``` 2. 在页面中使用自定义标签显示公共底部。在需要显示底部的位置添加以下代码: ```jsp <footer:footer/> ``` 以上就是使用JSP自定义标签实现公共底部的详细步骤。通过创建自定义标签处理类、标签库描述文件,以及公共底部视图文件,然后在需要显示底部的JSP页面中引入标签库并使用自定义标签,即可实现公共底部的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值