Im使用primefaces FieldSet组件,并在字段集中指定了一个按钮字段。我有一个要求,当我点击命令按钮时,一个h:selectonemenu &应该显示一个输入文本,并在进一步点击时,h:selectOnemenu & inputtext应该被隐藏。以下是我编写的代码,用于显示&隐藏。节目部分工作正常。但是,当我尝试点击按钮隐藏时,它不起作用。JSF CommandButton显示/隐藏问题
XHTML代码
<h:panelGrid id="grid1" columns="3">
<p:fieldset id="GlobalAdjustment" legend="GlobalAdjustment" style="font-size:12px !important;width:30%" >
<h:commandButton id="globalAdjustID" image="#{review.imageUrl}" actionListener="#{review.showUpdateList}" />
</p:fieldset>
<h:selectOneMenu id="SelectID" value="#{review.reviewList}" rendered="#{demandReview.selectoneRenderer}">
<f:selectItems id="FilterSelectListID" value="#{review.reviewListIDs}" style="font-size:12px !important"></f:selectItems>
</h:selectOneMenu>
<h:inputText id="fieldUpdateID" required="false" rendered="#{review.inputTextRenderer}"></h:inputText>
</h:panelGrid>
ManagedBean的ActionListener方法
public void showUpdateList(ActionEvent event)
{
System.out.println("entering the Action Method:");
Map<String, Object> idMap = new HashMap<String, Object>() ;
idMap = event.getComponent().getAttributes();
String url = (String) idMap.get("image");
System.out.println("The url is :"+url);
if(url.equals("/images/add_data_button.png")){
//upbean.setImageUrl("/images/remove_data_button.png") ;
imageUrl ="/images/remove_data_button.png" ;
selectoneRenderer = true;
inputTextRenderer = true;
}else
{
imageUrl ="/images/add_data_button.png" ;
selectoneRenderer = false;
inputTextRenderer = false;
}
}
当我点击字段集首次内部命令按钮,它工作正常并显示selectOneMenu用于&文本框。一旦进一步点击,ActionListener不会被调用。请帮我解决问题。
谢谢
可能是因为转换或验证失败,未达到JSF的INVOKE APPLICATION阶段。你的页面上是否有'h:messages'标签来显示错误?如果不是,请添加一个以查看会发生什么。 – 2012-07-17 14:23:10