[英]how to render things in different parts of a jsf structure with f:ajax
我的问题的简洁形式是:我如何响应屏幕上的模糊事件
<h:inputText>
得到相同的值以显示在
<h:outputText>
位于inputText字段范围之外。
inputtext字段具有以下xpath:
//*[@id="form:j_idt40:src_table:0:j_idt137"]
输出文本位于此处:
//*[@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>
和输出的代码如下
<p:dataTable id="target_table">
<p:column headerText="TargetHeader">
<h:outputText id="target_id" value="#{bean.myAttribute}" />
</p:column>
</p:datatable>
我在WHAT_SHOULD_GO_HERE上尝试了几种路径? 占位符,但我似乎无法正确处理。 他们最终都抛出了如下异常:
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并渲染视图的特定部分?
谁能帮助我理解xpath
JSF根本不在<f:ajax>
中使用Xpath。 它只是期望一个相对或绝对的客户端ID。 这在如何查找用于ajax更新/渲染的组件的客户端ID中有详细说明。 找不到从“ bar”引用的表达式为“ foo”的组件 。
您仅应将自动生成的ID j_idt40
表示的组件更改为具有固定的ID集,否则稍后在视图中添加或删除组件时,组件将再次中断。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.