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的值都是不一样的,而且会循环打印。

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

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

                  

       

                 

posted @ 2017-03-23 22:43  ANDY1995  阅读(270)  评论(0编辑  收藏  举报