Tha*_*ham 4 java jsf primefaces
EDIT
Cant似乎可以rendered正常使用update属性.这是我的代码
<ui:define name="left">
<h:form>
<p:commandLink value="Hey"
actionListener="#{bean.setRenderComment}"
update="comment"/>
</h:form>
</ui:define>
<ui:define name="right">
<h:panelGroup id="comment" rendered="#{bean.renderComment}">
hello
</h:panelGroup>
</ui:define>
Run Code Online (Sandbox Code Playgroud)
renderComment是一个布尔属性bean.setRenderComment基本状态切换的renderComment这样
this.renderComment = !this.renderComment;
Run Code Online (Sandbox Code Playgroud)
是的,每次我点击链接时Hey,我都需要刷新以hello开启或关闭渲染.我该如何解决它,以便我不需要刷新
Rom*_*las 13
我没有在我的项目中使用Primefaces而是使用Richfaces.所以我并不知道Primefaces如何完成刷新过程.但是,我有一个可以轻松测试的想法.
您的问题可能是由于在HTML页面上找不到重新呈现(即更新)的组件.如果您的rendered属性等于false,则<SPAN>with commentid 不会集成在生成的HTML页面中.因此,当在客户端收到Ajax请求时,Ajax引擎无法刷新<SPAN>它,因为找不到它.
因此,您可以做的是始终渲染您panelGroup的rendered属性并将其移动到<h:outputText>包含Hello消息的嵌套.
这是我的建议:
<h:panelGroup id="comment">
<h:outputText value="Hello" rendered="#{bean.renderComment}"/>
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)
这样,在Ajax调用之后,panelGroup将始终刷新,并且它将包含或不包含Hello消息,关于renderCommentbean 的属性值.
| 归档时间: |
|
| 查看次数: |
14977 次 |
| 最近记录: |