JSP6 - EL函数 & 自定义标签

JSP6 - EL函数 & 自定义标签_第1张图片
EL函数

自定义EL函数

JSP6 - EL函数 & 自定义标签_第2张图片
自定义EL函数

JSP6 - EL函数 & 自定义标签_第3张图片
自定义EL函数的注意事项

ElDemo1.java文件

public class ElDemo1 {
    public static String sayHello(String name){
        return "Hello" + name;
    }
}

myfn.dtl文件



 1.0
 myfn
 http://www.limaoquan.com/1020/myfn
 
 
 
    
    sayHi
    
    cn.el.ElDemo1
    
    java.lang.String sayHello(java.lang.String)
 
 

自定义标签

JSP6 - EL函数 & 自定义标签_第4张图片
自定义标签
JSP6 - EL函数 & 自定义标签_第5张图片
现在用右边的过程自定义标签

简单标签

重写5个方法:

  • void setJspContext(JspContext pc)
  • void setParent(JspTag parent)
  • void setJspBody(JspFragment jspBody)
  • void doTag()
  • JspTag getParent()
JSP6 - EL函数 & 自定义标签_第6张图片
执行顺序
JSP6 - EL函数 & 自定义标签_第7张图片
自定义标签简介和快速入门

自定义标签的快速入门

JSP6 - EL函数 & 自定义标签_第8张图片
图片.png

demo1.java

public class demo1 extends SimpleTagSupport{
    private PageContext pc;

    @Override
    public void doTag() throws JspException, IOException {
        pc.getOut().write("hello");
    }

    /**
     * 服务器默认先执行该方法
     */
    @Override
    public void setJspContext(JspContext pc) {
        this.pc = (PageContext)pc;
    }
}

配置 mycc.tld



 1.0
 mycc
 http://www.limaoquan.com/1020/mycc
 
 
 
    
    print
    
    cn.tag.demo1
    
    empty
 
 

引用标签 tag.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://www.limaoquan.com/1020/mycc" prefix="mycc"%>




Insert title here







带有标签主体的自定义标签

JSP6 - EL函数 & 自定义标签_第9张图片
带有标签主体的自定义标签
JSP6 - EL函数 & 自定义标签_第10张图片
Body-content的配置

tagDemo2.java

public class TagDemo2 extends SimpleTagSupport{
    PageContext pc;
    @Override
    public void doTag() throws JspException, IOException {
        JspFragment jf = getJspBody();
        jf.invoke(pc.getOut());
    }

    @Override
    public void setJspContext(JspContext pc) {
        this.pc = (PageContext)pc;
    }
    
}


 1.0
 mycc
 http://www.limaoquan.com/1020/mycc
 
 
 
    
    print
    
    cn.tag.demo1
    
    empty
 
 
 
    out
    cn.tag.TagDemo2
    scriptless
 


    妹妹

还需要仔细看《自定义标签.ppt》in day13

你可能感兴趣的:(JSP6 - EL函数 & 自定义标签)