java方法 必须是静态的
package com.itast.base;
import java.lang.reflect.Field;
import java.util.List;
public class FunctionDemo {
/**
* 需要静态方法
* @param value
* @return
*/
/*public static String toUpperCase(String value){
return value.toUpperCase();
}*/
public static boolean getLen(List<Object> list,String filed,String value){
try {
int len = 0;
for (int i = 0; i < list.size(); i++) {
Field f = list.get(i).getClass().getDeclaredField(filed);
f.setAccessible(true);//暴力反射
System.out.println(f.get(list.get(i)));
if(f.get(list.get(i)).toString().equals(value)){
len++;
}
}
System.out.println("len=="+len);
if(len >=2){
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
tld文件 一般放在web-inf中
<?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>itheima</short-name>
<uri>http://www.itheima.com/jsp/jstl/myfun</uri>
<function>
<description>
getLen
</description>
<name>getLen</name>
<function-class>com.itast.base.FunctionDemo</function-class>
<function-signature>java.lang.Boolean getLen(java.util.List,java.lang.String,java.lang.String)</function-signature>
</function>
</taglib>
jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.itast.base.Person"%>
<%@ taglib uri="http://www.itheima.com/jsp/jstl/myfun" prefix="itcast" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<%
List<Person> list = new ArrayList<Person>();
Person person = new Person();
person.setAge(1L);
person.setName("aa");
list.add(person);
Person person1 = new Person();
person1.setAge(1L);
person1.setName("bb");
list.add(person1);
Person person2 = new Person();
person2.setAge(2L);
person2.setName("cc");
list.add(person2);
Person person3 = new Person();
person3.setAge(2L);
person3.setName("dd");
list.add(person3);
request.setAttribute("list",list);
%>
</head>
<body>
This is my JSP page. <br>
<c:if test="${itcast:getLen(list,'age','1') }">
【按时交电费看电视】
</c:if>
</body>
</html>