2013-01-09 30 views
2

之間的區別我只是有一個問題,關於這兩個類之間的差異:我實際使用HtmlAjaxCommandButton創建動態的Ajax CommandButton控件AjaxCommandButton和HtmlAjaxCommandButton

  • org.ajax4jsf.taglib.html.jsp.AjaxCommandButton
  • org.ajax4jsf.component.html.HtmlAjaxCommandButton

,並它工作正常,但使用其他類org.ajax4jsf.taglib.html.jsp.AjaxCommandButton時,似乎它有另一個目的!我只想澄清事情!

他們有什麼區別?我們什麼時候該用這個而不是另一個?

回答

1

taglib包中的包是UIComponentTag的子類,因此它代表唯一的JSP標籤<a4j:commandButton>。它基本上定義了所有可用的屬性。 component包中的包是UIComponent的子類,因此它代表與JSP標籤關聯的具體JSF組件。 JSF組件定義了通過渲染器進行的解碼(回發處理)和編碼(HTML渲染)行爲。 JSP標記基本上是JSF組件樹和JSP文件之間的「介體」。

動態創建JSF組件時,不應該手動創建JSP標記。它們不應該在JSF組件樹中結束。

請注意,Facelets是JSP的後繼版本,不再需要那些UIComponentTag類。他們完全缺席Facelets。

+0

非常感謝BalusC,taht很有幫助! –