我想知道使用scriplet的全部內容。爲什麼在編寫JSP(s)時不推薦使用它。每次我詢問scriptlet的編碼時,他們都指出我不要使用它,而是使用JSTL。使用scriptlet的缺點?
謝謝你給你這方面的知識。
我想知道使用scriplet的全部內容。爲什麼在編寫JSP(s)時不推薦使用它。每次我詢問scriptlet的編碼時,他們都指出我不要使用它,而是使用JSTL。使用scriptlet的缺點?
謝謝你給你這方面的知識。
網絡中有幾種比較scrptlets和JSTL(我想你用Google搜索一些第一),其中大部分會告訴你同樣的
另一方面
你似乎只有小腳本的呈現和流控制 部分集中於如在使用如果,和switch語句和 的out.print( )的東西。
您似乎比較scriptlet 1:1與JSTL。這是錯誤的。我是 不是隻談論流量控制部分(這實際上是由JSTL取代 ),而是關於在 一般的JSP文件中編寫原始Java代碼。
即,收集請求參數,驗證和轉換值, 與數據庫和其他Java類/方法等交互。所有 您通常(間接)在Servlet或過濾器中執行的操作。
您不應在JSP中使用scriptlet代碼。我建議使用100%JSTL和零腳本代碼。
JSP應該是純粹的介紹。這就是 僅使用JSTL編寫JSP的隱藏好處,因爲它們在其他位置獲取所有動態數據。讓服務層擁有業務邏輯並確定JSP需要什麼數據。
這也回答你的單元測試問題。您不應該有 單元測試JSP;那些將會是像Selenium一樣的UI測試。如果邏輯 位於服務層中,則很明顯如何對其進行測試。
JSP不應該被繼承。您當然可以使用類似SiteMesh的方式將它們組合爲 ,但繼承在您的JSP中沒有 部分。一旦它們從Servlet繼承,鏈接應該是 結束。
此外,這是一個錯誤的選擇。兩者都不需要重用,繼承或單元測試。但這並不意味着沒有一個明確的贏家:它是JSTL。沒有人應該在JSP中使用scriptlet, 除非常罕見的單行程序。 Scriptlets乞求麻煩。
現在我更喜歡Velocity作爲我的Web UI模板解決方案 Java,遠遠超過JSP。只是我的觀點。
閱讀:http://www.udel.edu/CIS/474/pconrad/05S/lect/notes/04.28/TextbookExcerpt_NoScripletMemo_JSPElementMagnets.pdf –