2 回答

TA貢獻1934條經(jīng)驗 獲得超2個贊
確實,JSP具有一些 模板功能,但在JSF中使用JSP的最大缺點是JSP在遇到模板文本內(nèi)容時立即寫入響應(yīng),而JSF希望使用它進行一些前/后處理。在JSF 1.0 / 1.1中有以下JSF代碼
<h:outputText value="first"> second <h:outputText value="third"> fourth
會產(chǎn)生
第二名第四名
這是在JSF 1.0 / 1.1期間頭疼的問題。開發(fā)人員將需要包裝模板文本一樣second
,并fourth
在上面的例子<f:verbatim>
在所有地方的標(biāo)簽。JSF 1.2已經(jīng)通過一個改進的視圖處理程序來解決它,該處理程序解析JSP而不是執(zhí)行它,但由于JSP語法不像XML那樣“格式良好”,因此它仍然非常笨拙。強烈需要基于XML的視圖技術(shù),以便可以使用基于SAX的高效解析器。Facelets誕生了(在Ken Paulsen的“JSFTemplating”中)。
此外,統(tǒng)一的EL #{}
不能在JSP模板文本中使用,導(dǎo)致丑陋 - 并且對于初學(xué)者而言不直觀 - 混合${}
和#{}
。此外,JSTL可以在JSP上的JSF 1.x中不能用作視圖構(gòu)建時間標(biāo)記。此外,帶有<% %>
東西的JSP語法是老派,在JSP中嵌入原始Java代碼的可能性被認(rèn)為是打破MVC意識形態(tài)的一種非常糟糕的做法。
總而言之,從JSF / MVC的角度來看,JSP簡直是丑陋而且非常糟糕,F(xiàn)acelets簡直干凈且令人敬畏。
添加回答
舉報