我有一个带有形式的自定义标记文件:
<h:form>
<h:commandButton value="click">
<f:ajax event="click" listener="#{bean[method]}" />
</h:commandButton>
</h:form>
我有条件地通过ajax渲染它,如下所示:
<h:panelGroup id="test">
<h:form>
<h:commandButton value="click">
<f:ajax event="click" listener="#{backingTest.updateFlag}" render=":test"/>
</h:commandButton>
</h:form>
<h:panelGroup rendered="#{backingTest.flag}">
<my:customtag bean="#{backingTest}" method="printMessage"/>
</h:panelGroup>
</h:panelGroup>
这是关联的支持bean:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class BackingTest {
private boolean flag = false;
public void printMessage() {
System.out.println("hello");
}
public void updateFlag() {
flag = true;
}
public boolean getFlag() {
return flag;
}
}
当我单击第一个命令按钮时,将updateFlag()
正确调用该方法,并正确显示第二个命令按钮。但是,当我单击第二个命令按钮时,它从未命中该printMessage()
方法。在Web浏览器的JS控制台和HTTP流量监视器中,我可以看到该click
事件已成功触发,并且XHR
POST请求已成功发送。
如果删除该rendered
属性,那么一切都会按预期进行。
这是怎么引起的,我该如何解决?我正在使用Mojarra 2.1.25。
您的具体问题是由两个事实引起的:
在您的特定情况下,rendered
条件已评估,false
而JSF需要解码表单提交操作,因此永远不会处理未渲染的输入/命令组件。
将bean放入视图范围应该可以修复它。下面的示例假定使用JSF2.x。
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean
@ViewScoped
下面的示例假定具有CDI的JSF 2.2+:
import javax.inject.Named;
import javax.faces.view.ViewScoped;
@Named
@ViewScoped
问题内容: 如何在样式组件中使用条件渲染以使用React中的样式组件将按钮类设置为活动状态? 在css中,我会这样做: 在样式化的组件中,如果我尝试在类名中使用“ &&”,则不喜欢它。 问题答案: 你可以简单地做到这一点 在您的样式中,如下所示:
本文向大家介绍怎样有条件地渲染组件?相关面试题,主要包含被问及怎样有条件地渲染组件?时的应答技巧和注意事项,需要的朋友参考一下 or
Mpx中的条件渲染与原生小程序中完全一致,详情可以查看这里 简单示例如下: <template> <view class="container"> <!-- 通过 wx:if 的语法来控制需要渲染的元素 --> <view wx:if="{{ score > 90 }}"> A </view> <view wx:elif="{{ score > 60 }}"> B </
本文向大家介绍javascript表格的渲染组件,包括了javascript表格的渲染组件的使用技巧和注意事项,需要的朋友参考一下 表格的渲染组件,demo请点击http://lovewebgames.com/jsmodule/table.html,git源码请点击https://github.com/tianxiangbing/table 如上图所示,功能基本包括常用表格中遇到的分页、搜索、删除
本文向大家介绍深入理解Vue 的条件渲染和列表渲染,包括了深入理解Vue 的条件渲染和列表渲染的使用技巧和注意事项,需要的朋友参考一下 这两天学习了Vue.js 感觉条件渲染和列表渲染知识点挺多的,而且很重要,所以,今天添加一点小笔记。 条件渲染 v-if 在 < template > 中配合 v-if 渲染一整组 在使用 v-if 控制元素的时候,我们需要将它添加到这个元素上去。然而如果要切换很
使用jsf 2和Primeface 3.4 我知道有许多类似的问题,但没有一个能解决这个问题。 当面板网格“内部”以固定值“true”呈现时(