是否可以在JSP中定义一个方法并从servlet中调用它

时间:2015-08-30 10:22:23

标签: java jsp servlets

假设以下JSP标记

<property name="javax.persistence.schema-generation.database.action" value="create"/>

是否可以在jsp页面中定义一个方法(例如上面的test()方法),然后从servlet类中调用它? 如果答案是肯定的,那么如何做到这一点? 如果答案是否定的,为什么呢?

(我知道在运行JSP页面之前,Web服务器将其符合servlet类)

1 个答案:

答案 0 :(得分:0)

通常情况下,您将请求映射到servlet,并将servlet转发到JSP。

String nextJSP = "/searchResults.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
dispatcher.forward(request,response);

您无法在JSP上调用方法,因为servlet无法直接访问已编译的JSP,它只能访问调度程序。

但通常做的是在servlet中设置请求属性,然后JSP可以选择它们。

因此,在JSP的顶部,您可以执行类似

的操作
<% if(request.getAttribute("doTest")) then test(); %>