我可以从update=":myComponent"
中排除特定的ID吗?
我有一个更大的页面(有几个表,输入字段等),它包含在<p:panel id="outerPanel">
中。大多数时候,我只执行update=":outerPanel"
,这很好。但是现在我遇到了一个问题,我必须更新页面,除了一张桌子。
如何从更新过程中排除该表(或一般的任何组件)?
答案 0 :(得分:0)
不,我认为这不可能来自facelet。在服务器端,你可以操纵ajax请求,但我认为这不是你想要的。
也许您的视图允许在部件周围包裹一些h:panelGroup
以进行更新。
答案 1 :(得分:0)
如果可以通过某种逻辑识别不刷新的ID(即:
if(myVar==1) { idToExclue = 'id1';}
else // ... etc
然后你可以尝试使用jsf.util.chain
构建一个JSF调用:(注意这使用了Mojarra JSF impl。)
function myJsfSubmit(callerElement) {
var myIdsToSubmit = 'main-form:id-to-refresh-1 main-form:id-to-refresh-2';
// put your logic to exclude the desired ID here
// ...
// then
jsf.util.chain(callerElement,null,'mojarra.ab(this,event,\'action\',
\'main-form:id_to-submit\',\'+ myIdsToSubmit +\')');
return false;
}
在表单或组件的onClick()
或onSubmit()
上使用上述功能:
<h:commandButton onclick="myJsfSubmit(this)" />