我將JSP編譯添加到我的項目中,但編譯器仍然不檢查錯誤的宏,如$ {object.value},其中對象沒有getter的值。他們有什麼方法來提高JSP類型的安全性嗎?
我不知道是否有其他一些方法來指導JSP編譯器(jspc)來做到這一點。我正在考慮一些選項: 1.在JSP(jsp:useBean?)中明確聲明對象的類型。 2.使用<%=%>施工,而不是$ {}
但是沒有任何幫助。
如果有人願意分享他在這方面的經驗,我將不勝感激。
我將JSP編譯添加到我的項目中,但編譯器仍然不檢查錯誤的宏,如$ {object.value},其中對象沒有getter的值。他們有什麼方法來提高JSP類型的安全性嗎?
我不知道是否有其他一些方法來指導JSP編譯器(jspc)來做到這一點。我正在考慮一些選項: 1.在JSP(jsp:useBean?)中明確聲明對象的類型。 2.使用<%=%>施工,而不是$ {}
但是沒有任何幫助。
如果有人願意分享他在這方面的經驗,我將不勝感激。
否,除非您想從根本上重新設計JSP如何完成。
它生成的HTML也不是類型安全的。
您可以做的最好的事情是使用Model-2 MVC,其中您有servlet與JSP一起工作。讓servlet擔心綁定,驗證以及確保正確的對象在頁面範圍內結束。頁面應該只關心顯示。
scriptlet的想法是一個可怕的想法。沒有人應該將JSP腳本代碼放入。學習和使用JSTL。
使用<jsp:useBean id="yourId" scope="request" type="com.blah.YourClass"/>
和預編譯JSP。
閱讀this article瞭解更多詳情。