http://blog.csdn.net/it_man/article/details/7657691
首先说一下ognl调用方式
<s:setname="albumImg"value="@com.iss.portal.base.util.FileTools@getImgByWH(#oneAlbum.cover,'100X100')"></s:set>
其次
EL表达式调用自定义函数
1 EL表达式调用Javabean中的函数非常简单,只要有getXXX方法,就可以在页面上写${javaben.xxx}从而调用方法了
2 EL表达式调用标签<tag>中的方法:
如EL调用jstl中<fn:contains/>方法如下:\
- <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
- ${fn:contains(stringA,stringB)}
另外EL调用自定义标签方法如下:
1.在WebRoot\WEB-INF目录下面建立一个mytag.tld文件。
2.Mytag.tld内容是
- <?xml version="1.0" encoding="UTF-8"?>
- <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
- version="2.0">
- <tlib-version>1.0</tlib-version>
- <short-name>el</short-name>
- <function>
- <!-- 对这个EL方法的描述 -->
- <description>calculate string length</description>
- <name>FunctionsEl</name><!-- 调用EL方法的名称 -->
- <function-class>com.el.code.FunctionsEl</function-class>
- <function-signature>
- java.lang.String elEncode(java.lang.String)
- </function-signature>
- <example>${el:FunctionsEl(str)}</example><!-- 例如 -->
- </function>
- </taglib>
3.在com.el.code包下面新建一个类名为FunctionsEl的类。
- package com.gouwu.youboy.util;
- import java.io.UnsupportedEncodingException;
- import java.net.URLEncoder;
- /**
- * @project XXX
- * @author : XXX
- * @version 1.0
- * @Create:2011 5:41:27 PM
- * @Update:
- * @describe:
- */
- public class FunctionsEl {
- /**
- * 对中文进行转码
- * @param str 中文字符串
- * @return 中文编码过后的的字符串
- */
- public static String elEncode(String str) {
- String decodeStr = null;
- try {
- decodeStr = URLEncoder.encode(str, "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- return decodeStr;
- }
- }
4.在JSP页面引用如下:
- <%@ taglib prefix="el" uri="/WEB-INF/mytag.tld"%>
- ${el:FunctionsEl(iklist)}