2011-10-11 76 views
1

我們將把我們的JSF 1.2項目遷移到JSF 2.我們已經使用facelets(而不是JSP)作爲我們的演示技術。從JSF1.2遷移到JSF2.0:如何處理JSTL?

我們使用很多JSTL的 - >"xmlns:c="http://java.sun.com/jstl/core"

我們使用很多<c:if>聲明。我知道JSF2帶來rendered屬性,它也應該評估布爾表達式。

我應該打擾重寫的東西到新的呈現的屬性還是可以繼續在JSF2中使用JSTL?

回答

1

JSTL在JSF2中的工作方式與在JSF1中的工作方式相同。 rendered屬性不是JSF2特有的,它始終在JSF中一直存在。如果那些JSTL標籤一直在您的JSF 1.2應用程序中按照預期工作,那麼您不一定需要將它們遷移到JSF2。您只需要更改taglib uri以包含/jsp(!!)路徑。

xmlns:c="http://java.sun.com/jsp/jstl/core" 

然而,只要有可能,使用rendered屬性肯定是推薦不是依賴於JSTL標記的更多。當然,如果您打算將JSTL標籤屬性綁定到@ViewScoped bean。另請參閱Communication in JSF 2.0 - @ViewScoped fails in taghandlers

+0

謝謝,我會去渲染,但這意味着要爲我重寫很多遺留代碼。所以從你的回答中,我認爲可以保持JSTL代碼不變。 – Xorty

+1

沒問題。如果它以前工作正常,就按原樣保留。它將像在JSF1上一樣在JSF2上運行良好。但它不一定被認爲是「最佳實踐」。如果你有空閒時間和「修補程序」,那麼我會一步一步地改變它。 – BalusC

+0

好的,謝謝你的幫助! – Xorty