如何使用EL调用java方法?

时间:2016-08-10 17:51:35

标签: jsp el

我正在使用自己的java类,我在jsp页面中导入:

<%@page import="org.common.Common"%> 

在我的课程Common中,我有方法public static String sayHello(String name);

然后我使用JSTL循环

<c:forEach items="${requestScope.requestDataList}" var="requestLoop">

我想调用我的方法sayHello如何?

我打电话时遇到语法错误:

Common.sayHello(${requestLoop.Name})
你能帮帮我吗?谢谢

1 个答案:

答案 0 :(得分:1)

如果您需要在JSP EL($ {})中使用静态方法,您可以执行以下步骤

您拥有Java代码

public class WebUtils {
    public static String getSaludo(String name) {
        return "Hola " + name;
    }
}

在WEB-INF / zetta.tld中创建一个新文件


    <taglib version="2.1">
        <tlib-version>1.0</tlib-version>
        <short-name>zetta</short-name>
        <function>
            <name>getSaludo</name>
            <function-class>mx.zettaware.WebUtils</function-class>
            <function-signature>java.lang.String getSaludo(java.lang.String)
            </function-signature>
        </function>
    </taglib>

现在您可以在JSP中使用带有EL的Java类


    <%@ taglib uri="/WEB-INF/zetta.tld" prefix="zetta"%>
    <html>
    <head>
    <title>Zettaware Title</title>
    </head>
    <body>
        <h3>Using ${zetta:getSaludo("Zamora")}</h3>
    </body>
    </html>