我有一个
<h:form prependid="true" enctype="multipart/form-data" >
<h:inputText value="#{mybean.someStringField}" />
<h:inputFile id="myFile" value="#{mybean.somePartField}" />
<h:selectOneMenu value="#{mybean.someField}" >
<f:selectItems value="#{mybean.someSelectItemList}" >
<f:ajax event="change" execute="@form" render="@form" immediate="true" listener="#{mybean.someListenerAjaxBehaviorEvent}" />
</h:selectOneMenu>
</h:form>
当selectOneMenu上的值更改此表单时没有刷新表单
方法someListenerAjaxBehaviorEvent由以下代码组成
public void someListenerAjaxBehaviorEvent(AjaxBehaviorEvent ev) throws AbortProcessingException {
try
{
String code = (String)((UIOutput)ev.getSource()).getValue();
...
// Some SQL sentences for update data list
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
当表单不是“multipart / form-data”类型时,此方法可以正常工作,但我需要在此表单上附加一些文件。 任何人都有任何想法可以帮助我解决问题,我非常感谢他们的贡献
答案 0 :(得分:0)
抱歉,我无法添加评论。
您应该使用</h:form>
代替</form>
来关闭表单。
您是否尝试将一些日志添加到某些侦听器AjaxBehaviorEvent的方法以检查它是否被调用?