美文网首页
javaweb自定义标签

javaweb自定义标签

作者: 粽子_ef10 | 来源:发表于2017-12-19 18:45 被阅读0次

    为什么使用自定义标签

    减少在jsp写java代码。简言之,就是简化jsp。

    如何创建自定义标签

    1、方式一 :实现接口方式 SimpleTag

    2、方式二 :通过继承类  SimpleTagSupport

        开发步骤:

                1、实现SimpleTag或者继承SimpleSupportTag

                2、实现或者重写方法

                3、在WEB-INF下面新建一个xx.tld文件用来描述标签

                4、在jsp引入

    实现接口方式 SimpleTag

            一

    如上图,实现接口方式 SimpleTag需要实现下面这五个方法

                1、setJspContext()

                        设置(获取)上下文

                2、setJspBody()

                        获取标签体

                3、setParent()

                        设置父标签

                4、getParent()

                        获取父标签

                5、doTag()

                          在这个方法里面操作我们想要实现功能的相关逻辑

            二、在WEB-INF目录下新建一个test.tld文件,内容如下


              三、在jsp引入,如图


      接下来修改IPTag1.java代码,如下图

    将项目部署到tomcat,运行,在浏览器输入http://localhost:8080/Day22/test.jsp,浏览器出现如下图:

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    通过继承类 SimpleTagSupport

    基本和上面的操作一样,只不过要重写相关的方法

    如doTag(),废话不多说,直接截图:

    正如你所见,SimpleTagSupport已经帮我们做好了相关事情,我们只需在doTag做相关的操作就可以了。

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    在test.tld中,body-content中有以下几个值:

    body-contetn: 用来描述标签体的信息

                        empty          没有标签体

                        tagdependent  将内容原封不动交给标签处理

                        scriptless    标签体的内容可以是文本、el、其他标签【不要用jsp的脚本】

                        JSP            jsp脚本,el...

    一般开发中我们选择scriptless就可以了。

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    使用场景:

    |--直接输出内容

    |--控制输出还是不输出

    |--控制是否要执行标签体后的内容

    |--处理标签体的内容

    |--根据标签的属性处理不同业务逻辑(比如:控制循环次数)

    标签案例

    |--获取客户端的ip

    |--验证simgTag执行顺序()

    |--输出内容

    |--跳过标签体之后的内容  SkipPageException

    |--处理标签体内容

    |--循环

    |--循环(通过属性控制次数)

    |--防盗链标签

    |--模仿

    相关文章

      网友评论

          本文标题:javaweb自定义标签

          本文链接:https://www.haomeiwen.com/subject/whvuvxtx.html