2

I am using own java class and I have import in jsp page:

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

In my class Common i have method public static String sayHello(String name);

Then I have loop using JSTL

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

And I want call my method sayHello how?

I am getting syntax error when I call:

Common.sayHello(${requestLoop.Name})

Can you help me? Thank you

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555

1 Answers1

2

If you need use static method in JSP EL (${}), You can do the next steps

You have the Java Code

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

Create a new file in 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>

Now You can use the Java class with EL in JSP


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

JE Zamora
  • 146
  • 8