EL调用普通类的静态方法(EL自定义函数)

问题?EL调用普通类的静态方法(EL自定义函数),SUN提供的标准EL函数库

一、EL自定义函数编写步骤(自定义EL函数的编写步骤即自定义标签的编写步骤):
1、编写一个普通的java类,提供一个静态方法,也就是在EL表达式中要处理的方法。如:

package com.dp.javaWeb.function;

public class toup {
	public static String toUpperCase(String str){
		return str.toUpperCase();//小写变大写
	}
}

2、在JavaWeb应用的WEB-INF目录下建立一个扩展名是tld(taglib definition)的XML(Basic...)文件(参考Tomcat中的tlb文件示例,可以找到)。内容如下:Myfunction.tld





	1.0
	Myfunction
	http://www.itcast.cn/Myfunction
				
	
		toCase
		com.dp.javaWeb.function.toup
		java.lang.String toUpperCase( java.lang.String )
		
	

3、(可选步骤也是可忽略的步骤)前提是把tld文件放到了WEB-INF目录下。告知应用,tld文件和tld中的uri的对应。修改web.xml,增加以下内容:

   
  	
  		http://www.itcast.cn/Myfunction
  		/WEB-INF/Myfunction.tld
  	
  
因为添加这个映射主要是为了在jsp页面总用taglib指令自动导入函数库时用的,但是实际汇总可以忽略这个。
4、在JSP中使用用taglib指令,引入自定义的EL函数库:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib uri="http://www.itcast.cn/Myfunction"  prefix="Myfunction"%>


<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'index.jsp' starting page
	
	
	    
	
	
	
  
  
  
      <%
      pageContext.setAttribute("p", "abcd23");
      %>
      ${Myfunction:toCase(p) }
      
  


结果:

                     

二、SUN提供的标准EL函数库
JSTL标准标签:(Jsp Standard Tag Libary)
***Core:核心
** Fmt:国际化
    SQL:数据库操作
     XML:xml操作
**fn:EL函数库

web应用下,在WEB-INF目录下lib中导入JSTL的两个jar包。standard.jar和 jstl.jar(这两个jar包在我的资源中已经上传(名叫:SUN提供的标准EL函数库及jar包))
jsp页面导:<%@ taglib uri="http://java.sun.com/jsp/jstl/functions"   prefix="fn" %> 如:写两个常用的函数


   

写两个常用的函数

${fn:contains("asdfg",df) } ${fn:substring("tomcates",2,4) } ${fn:split("www.baidu.com",".")[0] }



你可能感兴趣的:(--------《JSP》,JSP理解和学习)