Drop down menu Primefaces下拉列表未设置值
我正在尝试删除属于相册的图像。 我提供了两个下拉列表,第一个允许选择相册,第二个允许选择相册的图像。第一次更改设置第二次更改。 然后,remove按钮调用remove方法。 我已经调试了很多次了,但是值总是空的。 你知道为什么吗?我怎样才能让它工作? 注意:当我设置第一个下拉列表时,该值存在,但在我设置第二个下拉列表后,它们都变为空 谢谢Drop down menu Primefaces下拉列表未设置值,drop-down-menu,primefaces,Drop Down Menu,Primefaces,我正在尝试删除属于相册的图像。 我提供了两个下拉列表,第一个允许选择相册,第二个允许选择相册的图像。第一次更改设置第二次更改。 然后,remove按钮调用remove方法。 我已经调试了很多次了,但是值总是空的。 你知道为什么吗?我怎样才能让它工作? 注意:当我设置第一个下拉列表时,该值存在,但在我设置第二个下拉列表后,它们都变为空 谢谢 <h:form> <h:panelGrid> <h:outputL
<h:form>
<h:panelGrid>
<h:outputLabel value="#{diaryMB.selectedAlbum}"/>
<p:selectOneMenu
id="albums" value="#{diaryMB.selectedAlbum}" effect="drop">
<f:selectItem itemLabel="Select An Album" itemValue="-1" />
<f:selectItems value="#{diaryMB.albums}" var="album"
itemLabel="#{album}" itemValue="#{album}" />
<p:ajax event="change" listener="#{diaryMB.updateImage()}" update="images"/>
</p:selectOneMenu>
<h:outputLabel value="#{diaryMB.selectedImage}" />
<p:selectOneMenu
id="images" value="#{diaryMB.selectedImage}" effect="drop">
<f:selectItem itemLabel="Select An Image" itemValue="-1" />
<f:selectItems value="#{diaryMB.images}" var="image"
itemLabel="#{image}" itemValue="#{image}" />
</p:selectOneMenu>
<p:commandButton id="removeImageButton" value="Remove" ajax="false" action="#{diaryMB.removeImage()}"/>
</h:panelGrid>
</h:form>
public String removeImage(){
System.out.println("I am selected image:"+selectedImage);
System.out.println("I am slected album "+selectedAlbum);
if(selectedImage!=null && !selectedImage.equals("-1"))
{diaryManager.removeImageFromAlbum(diaryOwner, selectedAlbum, selectedImage);
return "Friends";}
else
return "Home";
}
公共字符串removeImage(){
System.out.println(“我被选中图像:+selectedImage”);
System.out.println(“我是精选专辑”+精选专辑);
如果(selectedImage!=null&!selectedImage.equals(“-1”))
{diaryManager.removeImageFromAlbum(diaryOwner,selectedAlbum,selectedImage);
返回“朋友”;}
其他的
返回“家”;
}
这可能是因为您的托管bean是RequestScoped
的,并且在每个ajax请求之后都会被重新创建。尝试使用ViewScoped
或SessionScoped
查看值是否保留