我有一个dropdownbox和一个inputText。这是我的xhtml代码:
<h:panelGroup id="inputs">
<h:selectOneMenu value="#{tabBean.refundCharge}" name="reCharge">
<f:selectItems value="#{tabBean.reChargeList}" />
<f:ajax render="inputs" />
</h:selectOneMenu>
<p:inputText value="#{tabBean.refundDescr}" rendered="#{tabBean.refundCharge == 'Item2'}"/>
</h:panelGroup>
这是TabBean:
private String refundCharge;
public String[] getReChargeList() {
ResourceBundle config = ResourceBundle.getBundle("config");
String reChargeList= "Item1 % Item2 % Item3";
String delimeter = "[%]";
String[] reChargeDescr = reChargeList.split(delimeter);
return reChargeDescr;
}
未显示inputText。当我从dropDownList中单击Item2值时,必须显示输入文本。但这些代码不起作用。
必须在我点击Item2时显示。错误在哪里?
由于
答案 0 :(得分:3)
%
中的每个reChargeList
前后都有空格。因此,分割值实际上是"Item1 "
," Item2 "
和" Item3"
。 " Item2 "
不等于您在"Item2"
属性中指定的rendered
,因此永远不会呈现。{/ p>
删除这些空格或将拆分分隔符更改为\\s*%\\s*