假設有一個名爲Demo
的類,它不是一個Javabean,並且有一個方法m1()
,我想從我的JSP頁面調用此方法m1()
而不使用scriptlets。我怎樣才能做到這一點?我們如何創建一個Java類對象並在沒有scriptlet的JSP中調用它的方法?
0
A
回答
0
創建一個servlet並在doGet()
方法中完成這項工作。
@WebServlet(urlPatterns={"/page"})
public class PageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
new Demo().m1();
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
}
,或者如果它返回一些對象作爲結果,你需要它是可作爲EL ${result}
,
@WebServlet(urlPatterns={"/page"})
public class PageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Object result = new Demo().m1();
request.setAttribute("result", result);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
}
(注意:page.jsp
隱藏在/WEB-INF
文件夾,以防止直接訪問,而無需調用首先是小服務程序)
現在調用http://localhost:8080/context/page而不是http://localhost:8080/context/page.jsp。
0
我個人建議使用基於JSTL和表達式語言的溶液:
A JSTL primer, Part 1: The expression language
「的JSP技術版本2.0的主要特點是它的表達式語言支持(EL )。一種表達式語言可以輕鬆訪問存儲在JavaBeans組件中的應用程序數據,例如,JSP表達式語言允許頁面作者使用簡單的語法來訪問bean,例如$ {name}作爲簡單變量或$ {name .foo.bar}爲一個嵌套屬性。 「
這將允許您使用標籤,而不是形式小腳本:
<c:out value="${demo.m1}"/>
JSTL還允許你通過使用標籤執行條件,迭代和更多
相關問題
- 1. Java:我如何在靜態方法中創建對象並調用另一個類的方法?
- 2. 調用Java中未知類的方法並創建對象
- 3. 我們可以創建子類的對象並調用父類的方法嗎?
- 4. 一個類的構造和對象,並在Java中調用它的方法
- 5. 如何在JSP中編寫方法並調用它們?
- 6. 在C++中創建一個python對象並調用它的方法
- 7. JAVA:如何調用一個對象的子類中的方法?
- 8. Java - 我如何創建一個不同的類的數組,並遍歷它調用它的toString方法?
- 9. Java - 在方法調用中創建一個對象
- 10. 如何創建一個調用另一個類的委託方法的對象?
- 11. Java:我正在使用File並創建一個FileHelper類,並在網頁中使用JSP調用它... help?
- 12. 如何在它的基類中創建一個子類對象?
- 13. 在servlet中通過scriptlet調用類對象方法
- 14. 使用spring eval標籤並在jsp中調用java方法而不使用scriptlet
- 15. 在jsp中調用java類的功能而不使用scriptlet
- 16. 創建JavaScript對象並調用它的方法
- 17. 如何導入我在jython中創建的java類並調用方法
- 18. 在一個類中構建對象並在另一個類中訪問它們
- 19. 創建一個C++類的實例並在Python中調用它的方法
- 20. 調用另一個類的對象的方法沒有
- 21. 如何在jsp scriptlet中調用$ {SPRING_SECURITY_LAST_EXCEPTION.message}?
- 22. Testng如何創建測試類的對象並調用Test類的方法?
- 23. java.lang.NullPointerException;試圖創建一個對象,並調用一些方法
- 24. Java使用方法並調用它們
- 25. 創建一個對象/類,並在jQuery中使用它
- 26. 調用在另一個方法中創建的對象
- 27. 在一個方法中初始化一個對象,並用另一種方法創建它的一個副本
- 28. 如何用DLL創建一個對象並用edge.js調用它的一個方法?
- 29. 如何使用JAva中另一種方法創建的對象?
- 30. 如果我知道一個對象的類名,如何獲取它並調用它的方法?
@ russell和balusC,即時通訊問我在scriptlet我可以做以下 - <%new Demo()。m1()%> 現在我的問題是我怎麼能做到上面的操作沒有scriptlet在jsp和演示沒有設置任何範圍? 對於$ {demo.m1}演示必須處於任何範圍內。 –