簡體   English   中英

是否可以在JSP中定義方法並從servlet調用它

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM