在我的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()
是一个实例方法,而不是静态方法。
我做错了什么?
答案 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") %>