0
我想構建一個表單,根據其他組件的狀態動態更改可見組件的表單。JSF:動態更改表單
例如...有一些文本框和一些複選框,如果用戶激活某個複選框,應該出現一堆其他輸入元素。
我可以使用JSF 2.0 + Tomahawk來做到這一點,還是必須讓另一個庫執行此操作?我該怎麼做?如果沒有AJAX,這是行不通的,是嗎?
在此先感謝!
我想構建一個表單,根據其他組件的狀態動態更改可見組件的表單。JSF:動態更改表單
例如...有一些文本框和一些複選框,如果用戶激活某個複選框,應該出現一堆其他輸入元素。
我可以使用JSF 2.0 + Tomahawk來做到這一點,還是必須讓另一個庫執行此操作?我該怎麼做?如果沒有AJAX,這是行不通的,是嗎?
在此先感謝!
Ajax是一種方便的方法,JSF 2.0帶有ajax捆綁。
下面是一個例子:
<h:selectOneRadio value="#{a7.myCheckbox.state}">
<f:selectItem itemLabel="#{bundle.yes}" itemValue="1"/>
<f:selectItem itemLabel="#{bundle.no}" itemValue="0"/>
<f:ajax render="uawGroup"/>
</h:selectOneRadio>
<h:panelGroup id="uawGroup" layout="block">
<h:outputText value="#{bundle.wichmed}"
rendered="#{a7.myCheckbox.state == 1}"/>
<h:inputText value="#{}" id="myInput"
rendered="#{a7.myCheckbox.state == 1}"/>
</h:panelGroup>
當點擊在h:selectOneRadio
(項目值== 1) 「是」 的-option將h:panelGroup
被渲染。最初它是0(在bean「a7」中設置)。 (h:outputText
和h:inputText
最初不顯示)
的h:panelGroup
作爲包裝,因爲你只能更新在網頁上呈現的實際使用AJAX組件。
這太好了,謝謝!但是如果我想要顯示一組特定的組件,如果單擊h:按鈕,它是如何工作的?謝謝! – geeehhdaa 2011-04-14 15:58:21
爲了清楚我想要做什麼:我有一些panelGrids,我希望用戶一步步地通過它們(填入grid1中的東西,按下使grid2出現的按鈕等等) 。我怎樣才能做到這一點?我可以讓服務器處理grid1的某些輸入以在grid2中顯示結果嗎? – geeehhdaa 2011-04-14 16:32:21
@geeehhdaa你也可以在'h:commandButton'中放入'f:ajax'。使用'execute'屬性在ajax調用期間處理輸入字段:'' –
2011-04-14 17:45:32