tagsupport怎么用?详细教程来了,建议收藏!

吉云

今天闲着没事,琢磨着给自己的项目里加点新花样。想来想去,决定从自定义标签下手。这玩意儿,说白就是能在JSP页面里直接用的那种小组件,能省不少事儿。不过具体咋弄?还得一步步来。

我有点懵,不知道从哪儿下手。就在网上瞎搜,发现有个叫TagSupport的类好像挺关键。很多教程都提到它,说是自定义标签的基础。于是我就决定先拿它开刀。

tagsupport怎么用?详细教程来了,建议收藏!

摸索TagSupport

我新建一个Java类,让它继承TagSupport。这就像是搭积木,先得有个底座。然后,我开始琢磨着往里面加东西。看一些例子,发现主要是重写几个方法,比如doStartTag()、doEndTag()之类的。这些方法,就像是标签的“开关”,控制着标签开始和结束时要干

我试着在doStartTag()里写点代码,就是简单地输出一句话。然后,又在doEndTag()里写点,也是输出一句话。这么做,主要是想看看效果,看看这标签到底是怎么工作的。

  • 新建Java类,继承TagSupport。
  • 重写doStartTag()方法,在里面写点输出语句。
  • 重写doEndTag()方法,也在里面写点输出语句。

就是要让这标签能用起来。我记得,好像还得弄个什么tld文件。这玩意儿,就像是标签的“说明书”,告诉JSP引擎这标签是怎么用。我照着网上的教程,也鼓捣一个出来,把刚才写的那个Java类给配置进去。

编写tld文件

这tld文件,就是个XML文件。里面要写清楚标签的名字、对应的Java类、还有一些属性啥的。这一步,感觉有点像填表,把信息都填进去就行。

弄完这些,我就迫不及待地在JSP页面里试试。写个标签,然后运行,看看效果。还真出来!页面上输出我在doStartTag()和doEndTag()里写的那两句话。虽然简单,但还是挺有成就感的。

不过光输出两句话可不行。我还想让这标签做点更有用的事儿。比如,处理点数据,或者根据不同的情况显示不同的内容。这就要用到标签的属性。我又回去研究一下,发现可以在tld文件里定义属性,然后在Java类里获取这些属性的值。这样,就能根据属性的不同,做不同的处理。

后来我又听说有个叫BodyTagSupport的类,跟TagSupport差不多,但是能处理标签体里的内容。这就有意思。我试着把之前的那个类改成继承BodyTagSupport,然后重写doAfterBody()方法。在这个方法里,我能拿到标签体里的内容,然后对它进行一番“改造”。

这一天下来,虽然有点累,但还是挺有收获的。至少,我算是把自定义标签这块给摸清楚。以后,再遇到类似的需求,我就不用发愁,直接上手开干!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]