2013-03-11 27 views
1

我有問題的簡潔版本是這樣的: 我如何在模糊事件的反應上如何呈現在JSF結構和f的不同部分的事情:AJAX

<h:inputText> 

得到相同的值顯示在

<h:outputText> 

位於inputText字段範圍之外。

的inputText字段具有以下XPath:

//*[@id="form:j_idt40:src_table:0:j_idt137"] 

我們將outputText位於:

//*[@id="form:j_idt40:target_table:0:target_id"] 

我使用primefaces數據表和兩路分別位於兩個不同的數據表

輸入字段的jsf代碼如下:

<p:dataTable id="src_table"> 
    <p:column id="src_id" headerText="srcHeader"> 
     <h:inputText value="#{bean.myAttribute}"> 
      <f:ajax event="blur" render="src_id WHAT_SHOULD_GO_HERE?" ></f:ajax> 
     </h:inputText> 
    </p:column> 
</p:datatable> 

和用於輸出的代碼是關於WHAT_SHOULD_GO_HERE以下

<p:dataTable id="target_table"> 
    <p:column headerText="TargetHeader"> 
     <h:outputText id="target_id" value="#{bean.myAttribute}" /> 
    </p:column> 
</p:datatable> 

我試圖幾條路徑?佔位符,但我似乎無法做到。他們都結束了扔臉異常類似如下:

javax.faces.FacesException: <f:ajax> contains an unknown id ':target_id' - cannot locate it in the context of the component j_idt137 

,這是當然的,當我更換WHAT_SHOULD_GO_HERE?搭配:target_id

我也曾嘗試:

form:j_idt40:target_table:0:target_id, 

:form:j_idt40:target_table:0:target_id 

,但沒有運氣。

任何人都可以幫助我理解xpath或甚至f:ajax和渲染視圖的特定部分?

+0

男人,我不知道這是可能的普通的JSF ...你不能只渲染整個'target_table'嗎? – elias 2013-03-11 13:05:45

+0

@elias是的,這就足夠了,任何想法如何實現? – Rythmic 2013-03-11 13:47:17

+1

在f:ajax中使用'render =「src_id:form:target_table」'就足夠了。 – elias 2013-03-11 13:49:52

回答