[英]Is it possible define a method in JSP and invoke it from a servlet
假設以下JSP標簽
<%! public void test(){} %>
是否可以在jsp頁面中定義一個方法(例如上述test()方法),然后從servlet類調用它?
如果答案是肯定的,那該怎么辦呢? 如果答案是否定的,那為什么呢?
(我知道在運行JSP頁面之前,Web服務器會將其編譯為Servlet類)
通常發生的情況是將請求映射到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(); %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.