欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JSTL 自定义Function函数标签

程序员文章站 2022-06-08 18:05:20
...

1.首先编写类,注意:类里面的变量与方法必须是static的;

  如:

public class TestFunction {

	private static ProductInfoManager productInfoManager = (ProductInfoManager) Platform.getInstance().getBean("productInfoManager");

	public static List getLastDataByType(int type, int lastSize) {
		return productInfoManager.getLastDataByType(type, lastSize);
	}

	public static Boolean isLogin() {
		Customer customer = (Customer) ServletActionContext.getRequest().getSession().getAttribute(SessionUser.Customer_Session_User_Key);
		if (null == customer) {
			return false;
		}
		return true;
	}

 2.定义dtd文件;

  如:

<?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>my</short-name>
	<uri>http://www.myproject.com/my/functions</uri>

	<function>
		<name>getLastDataByType</name>
		<function-class>com.myproject.app.util.TestFunction</function-class>
		<function-signature>java.util.List getLastDataByType(int,int)</function-signature>
	</function>
	<function>
		<name>isLogin</name>
		<function-class>com.myproject.app.util.TestFunction</function-class>
		<function-signature>boolean isLogin()</function-signature>
	</function>

</taglib>

 

3.JSP引入;

  如:

 <%@ taglib uri="http://www.myproject.com/my/functions" prefix="my"%>

 

4.使用;

 如:${my:isLogin()};

     ${my:getLastDataByType(2,5)}