我是JSF的新手,遇到了一些在表单中显示条件部分的奇怪问题。
我的Facelet:
<h:form id="animalForm">
<h:selectOneRadio id="animal" onchange="submit()" value="#{index.animal}">
<f:selectItem itemLabel="Cat" itemValue="1"/>
<f:selectItem itemLabel="Dog" itemValue="2"/>
</h:selectOneRadio>
</h:form>
<h:outputText value="#{index.animal}"/>
<c:if test="#{index.animal eq 1}">
<h:outputText value="Cat"/>
</c:if>
<c:if test="#{index.animal eq 2}">
<h:outputText value="Dog"/>
</c:if>
我的Java Bean:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean(name = "index")
@RequestScoped
public class IndexBean {
public static final int CAT = 1;
public static final int DOG = 2;
private int animal;
public IndexBean() {
}
public int getAnimal() {
return animal;
}
public void setAnimal(int animal) {
this.animal = animal;
}
}
当我选择一个项目时,值将显示为1或2,但表单上没有其他内容显示??? 我的代码有什么问题吗?
<c:
标签,但避免在组件内部使用它们,也不要用于条件渲染。这是因为它们在不同的时间被评估,而不是JSF组件表达式。 - Bozho