中获取这些信息
我正在使用JSF创建一个小应用程序,面对这个异常,下面是表单的代码。
<h:form>
<h:selectManyCheckbox value="#{transferMB.selectedItems}">
<f:selectItem itemValue="1" itemLabel="Transfer Status" />
<p:ajax update=":transForm" />
</h:selectManyCheckbox>
</h:form>
异常" javax.faces.view.facelets.TagAttributeException:"
这是加载数据时的后续问题
如前所述,您需要使用EL 2.2在EL- expression中传递参数。你好像不用这个。所以我们需要另一种方法来解决这个问题:
<h:form id="transForm">
<p:panelGrid columns="1" rendered="#{transferMB.transFormEnabled}">
<h:outputText value="transForm"/>
</p:panelGrid>
</h:form>
<h:form id="spreadForm">
<p:panelGrid columns="1" rendered="#{transferMB.spreadFormEnabled}">
<h:outputText value="spreadForm"/>
</p:panelGrid>
</h:form>
和在相应的bean中:
public boolean isTransFormEnabled() {
if (selectedItems.contains("1")) {
return true;
} else {
return false;
}
}
public boolean isSpreadFormEnabled() {
if (selectedItems.contains("2")) {
return true;
} else {
return false;
}
}
你应该调用Boolean-like
值到你的渲染属性。
的例子:
<p:panelGroup id="group" rendered="{#bean.isOneSelected}">
...
</p:panelGroup>
<p:panelGroup id="group" rendered="{#bean.isTwoSelected}">
...
</p:panelGroup>
以及从selectManyMenu获取值。请在这里核对。
呈现的标签也是一个类似Boolean
的条件,用于判断是否应该显示标签。你不需要给它传递参数。你应该从你的transferMB