我有一個頁面,用戶可以將文件上傳到服務器。他可以設置哪些組/用戶可以讀/寫文件。動態更新a4j:使用表格中的數據重複使用
這是通過選擇完成的。一個選擇保存用戶當前所在的組的名稱,並且在同一行上是具有選項「讀取」和「寫入」的選擇。第二行是用於選擇用戶的相應內容。
當用戶選擇一個組並對該組進行讀取或寫入時,他然後按下一個按鈕。按下按鈕後,我想向用戶顯示select下面的權限列表。該列表將具有組名稱,所述組的訪問設置和用於移除許可項目的按鈕。
我的問題是,我無法更新頁面並顯示權限列表。服務器端的權限被添加到一個ArrayList中,但我無法得到內容顯示在a4j:重複。我如何獲得重複標籤更新?
這是我一直在努力,到目前爲止做:
<h:form>
<h:selectOneMenu value="#{assetUploadForm.currentGroupName}" valueChangeListener="#{assetUploadForm.groupNameChanged}">
<f:selectItem itemValue="users" itemLabel="users" />
<f:selectItem itemValue="foobar" itemLabel="Foobar" />
<a4j:ajax event="valueChange" render="second" execute="@this" />
</h:selectOneMenu>
<h:selectOneMenu value="#{assetUploadForm.currentGroupRW}" valueChangeListener="#{assetUploadForm.groupRWChanged}">
<f:selectItem itemValue="R" itemLabel="Read"/>
<f:selectItem itemValue="W" itemLabel="Write"/>
<a4j:ajax event="valueChange" render="second" execute="@this" />
</h:selectOneMenu>
<a4j:commandButton action="#{assetUploadForm.addGroupRights}" value="add group" render="groupList"/>
<ul>
<a4j:repeat value="#{assetUploadForm.groupPermissions}" var="permission" id="groupList">
<li><h:outputText value="#{permission.permissionSetItemId}"/></li>
</a4j:repeat>
</ul>
</h:form>
那麼,問題是A4J:重複從不更新。如果我用輸出文本替換重複項,並設置命令按鈕來渲染它,頁面將被「正確」更新。
這聽起來像它可以工作:)我會在幾天內嘗試。非常感謝解釋!儘管我一直在觀察展示和組件參考,但是恐怕很多事情沒有被深入解釋(例如,我對這個問題沒有找到任何幫助)。一個人必須通過我的猜測來學習:) – 2012-02-03 06:48:37
不客氣。 – BalusC 2012-02-07 11:56:23