如何定义el函数
1 定义一个java类
* 用public修饰
* 类中的方法用static修饰
(2)
在tld文件中配置
(3)
在jsp页面使用
* 引入tld文件
<%@ taglib uri="http://www.itcast.cn/jsp/myel/functions" prefix="fen" %>
* 在el表达式中使用函数
测试字符串的长度${fen:getLength("abcdef")}<br>
--------------------------------------------------------------------------------------------------------------------------------------------
如何写一个自定义标签:
1 定义标签的样式<itcast:Date/>
2 定义标签处理类
public class DateTag implements SimpleTag {
private PageContext pageContext;
/**
* 2 处理业务逻辑
*/
public void doTag() throws JspException, IOException {
//在jsp页面中<itcast:Date /> 位置输出
System.out.println("调用 doTag ");
pageContext.getOut().print(new Date());
}
/**
* 1.Jsp 引擎将代表 JSP 页面的 pageContext 对象传递给标签处理器对象
* * 该方法jsp引擎调用,传递页面的pageContext对象,给该方法的参数
* * class PageContext extends JspContext
*/
public void setJspContext(JspContext pc) {
System.out.println("调用 setJspContext " + pc);
pageContext=(PageContext) pc;
}
}
3 配置tld文件(xml文件)
5 在jsp页面使用
* 引入标签库
* uri:在web.xml文件定义的<taglib-uri>标签的值,或者是tld文件中
<uri>http://www.itcst.cn/jsp/mytag/core</uri>标签的值
* prefix:在jsp中使用标签的前缀名
<%@ taglib uri="/WEB-INF/tag.tld" prefix="itcast" %>
* 使用标签:
<itcast:Date/>
注:tld文件的位置:
* Tld 文件可以放置在 web 应用程序的 WEB-INF 目录及其子目录中,但不能放置在 WEB-INF 目录下的 classes 和 lib 子目录中 。
* tld 文件也可以放置在 WEB-INF/lib 目录下的 jar 包的 META-INF 目录及其子目录中
* 在servlet2.4规范及其以后的版本中 tld文件不用在web.xml文件配置,也就是上面的第四步可以省略
* tld文件服务器查找顺序:
web服务器先在/WEB-INF/下查找,WEB-INF/下查找不到,在lib下jar包中META-INF目录中查找
jstl标签库的类库引入:
* 如果是j2ee1.4在myEcplise中需要自己引入jstl标签库的jar文件
* 如果是j2ee1.5在myEcplise中不需要需要自己引入jstl标签库的jar文件
* 在jstl 1.2之前:需引入 jstl.jar standard.jar两个文件
* 在jstl 1.2(包含)之后:需引入 jstl.jar两个文件(把上面的两个合成一个)