在EL表达式中自定义方法来处理数据的最完整源码
问题描述:
有时我们要在jsp页面对数据进行一些复杂的处理,虽然jsp页面中可以书写java代码,但是会影响美观,代码比较混乱。这是我们就需要在el表达式中使用自定义的方法把要处理的数据传到后端用java来处理。
解决方法:
1.在WEB-INF下的tlds目录下新建一个fns.tld文件,源码如下:
<?xml version="1.0" encoding="UTF-8" ?> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>JSTL 1.1 functions library</description> <display-name>JSTL functions sys</display-name> <tlib-version>1.1</tlib-version> <short-name>fns</short-name> <function> <description>获取配置</description> <name>getConfig</name> <function-class>com.thinkgem.jeesite.common.config.Global</function-class> <function-signature>java.lang.String getConfig(java.lang.String)</function-signature> <example>${fns:getConfig(key)}</example> </function> </taglib>2.新建上面tld文件中引用到的java处理类 Global.java
public class Global {
public static String getConfig(String key) {
//此处省略数据处理代码
return "雅逸书屋网";
}
}
3.页面中引入tld文件
在页面的<%@ page contentType="text/html;charset=UTF-8" %>后引入
<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>
4.使用方法
使用方法和jstl的fn方法一样,是不是很简单,快点试试吧!
<h1 class="form-signin-heading">${fns:getConfig('productName')}</h1>
