自定义JSP标记标签自定义JSP函数

自定义JSP标记标签自定义JSP函数

一、获取 .tld 文件头
1、文件头路径: Tomcat\webapps\examples\WEB-INF\jsp2\jsp2-example-taglib.tld
2、.tld文件存放位置: project/webapp/WEB-INF/ (必须放在WEB-INF 目录下面)

二、实现自定义函数
1、 编辑 .tld文件:
  自定义函数,用于在jsp页面使用 
  1.0
  1.0
  fns
    

  		获取当前时间 yyyy-MM-dd
  		nowDate
  		com.xx.study.utils.DateUtils
  		java.lang.String nowDate()
  		${fns:nowDate()}
  	




2、DateUtils.java (注意: 方法必须是静态的
/**
	 * @description: 获取当前时间 yyyy-MM-dd 格式
	 * @return
	 */
	public static String nowDate(){
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		return sdf.format(new Date());
	}


3、JSP页面使用
  • 导入标记: <%@ taglib uri="/WEB-INF/tlds/fns.tld" prefix="fns" %>
  • 获取时间:

    当前时间是: ${fns:nowDate()}


三、实现自定义标记
1、编辑 nowTag.tld 文件
A tag library exercising SimpleTag handlers.
    1.0
    nowTag
    
        this tag get now time
        time
        com.xx.study.tag.TimerTag
        empty
    


2、TimerTag.java (注意: 必须继承 TagSupport
public class TimerTag extends javax.servlet.jsp.tagext.TagSupport{
	@Override
	public int doStartTag() throws JspException {
		return EVAL_BODY_INCLUDE;
	}
	
	@Override
	public int doEndTag() throws JspException {
		JspWriter out = pageContext.getOut();
		try {
			out.print(DateUtils.nowDate());
		} catch (IOException e) {
			e.printStackTrace();
		}
		return EVAL_PAGE;
	}
}



3、JSP页面使用
  • 导入标记: <%@ taglib uri="/WEB-INF/tlds/nowTag.tld" prefix="nowTag"%>
  • 获取时间:

    当前时间:





参考资料: JSP 自定义函数
JSP自定义标签标记元素详解


你可能感兴趣的:(Java)