首先说一下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;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- public class FunctionsEl {
-
-
-
-
-
-
-
-
-
-
-
- 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)}