• jsp定制标记?


         jsp实现无脚本。之前讲到"el,动作指令"和“jstl”可以帮助实现无脚本----大部分时间够用了。可要比较完美的实现所谓的无脚本,还需要定制标记。今天就说这事。

          jsp2.0新添加了2种标记----简单标记&标记文件,先说说简单标记

            1 创建简单标记关键点:tld文件,标记处理器;怎么使用;

                 (1)tld文件, 在我看来类似于配置文件,后缀名.tld;作用是:申明(或者说定义)标记的uri,属性等。

                   下面创建create first

                      

           

                  

                      看清楚,新鲜出炉的图O(∩_∩)O哈哈~。

        (2)处理器

                     这个类需要继承SimpleTagSupport类;看下图关系;

                           

                packpage foo;

           public  class test extends SimpleTagSupport{

             String phone;

              public void doTag() throws JspExption ,IOException{

               getJspContent().getOut().write("hello, this is my tag!");//打印出来;}

          public String  setPhone(String p){

               this.phone=p;

     }

    }

          (3)使用简单标记

              jsp中:

               

          

                          打印结果为:

                                          show text 110

                            

                上面只是简单的演示一个过程,下面看看细节;  

         2 定制标记details            

                       @ simpleTagSupport方法说起

                              (1)void setJspBody(JspFragment f) & JspFragment setJspBody(JspFragment f);

                                       作用: 获取或者设置标记的体; 

                                      一个例子:

                                    jsp中:

                                  <mine:advice phone="110">

                                         nihao;jsp

                                  </mine:advice>

                            tld中

                                  <body-content>scriptless</body-content>//不能为empty:没体

                           simpleTagSupport中

                                   doTage(){

                                       getJspBody().invoke(null);//将体中的内容响应输出;

                                 }

                         (2)getJspContext();

                                   可以用来获取pageContext实例的一个JspContext的引用(2个类是父子关系)。

                       @怎么实现循环?看下面一张图

                                  

                        上图可以看出,movice属性本来不存在也好,在for中设置,每一个movice的值都是不一样的,而且会循环打印。

              ——————————————————————————————————————————————————————————————————————

            入门是总结,  有不少细节没提到。下次我们聊聊“标记文件”;

                      

           

                     

  • 相关阅读:
    Arch Linux 安装 ibus-rime
    macOS安装Python MySQLdb
    CentOS 7 安装 gcc 4.1.2
    Windows 10安装Python 2.7和MySQL-python
    小米Air安装Arch Linux之图形界面配置(Gnome 和 sway)持续更新中……
    小米Air 13.3 安装Arch Linux
    Linux Shell脚本攻略总结(1)
    Ubuntu下删除配置错误或者失败的安装包
    oProfile的安装与使用
    动态链接库VS静态链接库
  • 原文地址:https://www.cnblogs.com/huang-1995/p/6607836.html
Copyright © 2020-2023  润新知