如何从jsp调用java方法?

时间:2014-03-08 21:15:15

标签: java jsp el

在我的jsp中,我有以下内容:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<c:set scope="request" var="test" value="${com.xxx.foo.Bar.getBar()}" />

但是这似乎将test存储为字符串值为${com.xxx.foo.Bar.getBar()}的字符串,而不是该方法的返回值(这是一个枚举)。

这里getBar()是一个实例方法,而不是静态方法。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

正如其他人在评论中所建议的那样,我通过创建一个servlet并将信息传递给jsp来解决这个问题,如下所示:

public class FooServlet extends HttpServlet
{
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException
    {
        Bar bar = new Bar();
        request.setAttribute("bar", bar.getFooBar() );
        request.getRequestDispatcher("/myPage.jsp").forward(request, response);
    }
}

在jsp中:

<%=request.getAttribute("bar") %>