Dynamic 如何从支持bean中获取组件名称以与p:component一起使用

Dynamic 如何从支持bean中获取组件名称以与p:component一起使用,dynamic,primefaces,Dynamic,Primefaces,我需要根据调用页面的位置更新不同的组件 <p:commandButton id="questionnaire_save_button" value="#{shop_msgs['questionnaire.save.button.label']}" action="#{questionnaireBean.update(questionnaire)}" update=

我需要根据调用页面的位置更新不同的组件

<p:commandButton id="questionnaire_save_button"
 value="#{shop_msgs['questionnaire.save.button.label']}"                               
 action="#{questionnaireBean.update(questionnaire)}"                              
 update=":#{p:component(#{questionnaireBean.refreshComponentId})}" />
}

但是,我不断得到语法错误: 原因:javax.el.ELException:错误解析:#{p:component(#{questionnaireben.refreshComponentId}) 位于org.jboss.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:130) 位于org.jboss.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:151) 位于org.jboss.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:195) 位于org.jboss.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68) 位于com.sun.faces.facelets.tag.TagAttributeImpl.getValueExpression(TagAttributeImpl.java:385) ... 117更多 原因:org.jboss.el.parser.ParseException:在第1行第17列遇到“{”。 我期待的是: "." ... ")" ... "[" ... "," ... ">" ... “gt”。。。 "=" ... “ge”。。。 “改变:

update=":#{p:component(#{questionnaireBean.refreshComponentId})}" />
致:

更改:

update=":#{p:component(#{questionnaireBean.refreshComponentId})}" />
致:

update=":#{p:component(questionnaireBean.refreshComponentId)}"