美文网首页
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