无需重新加载即可更新bean中的对象



在我的页面上,我有从数据库的数据形式。我想实现,作为默认行为,写入所有更改到数据库。
我发现了这样的例子

<h:selectOneMenu value="#{bean.options}" onchange="submit()"
                        var="#{bean.options}" valueChangeListener="#{bean.changeListernMethod}">
                        <f:selectItem itemValue="1" itemLabel="option1" />
                        <f:selectItem itemValue="2" itemLabel="option2" />
                        <f:selectItem itemValue="3" itemLabel="option3" />
                    </h:selectOneMenu>

,但它不调用侦听器方法并重新加载所有页面。我不能在每次输入文本编辑或菜单选择更改时重新加载页面。你知道如何实现这样的行为吗?更新bean中的对象而不需要重新加载页面

<f:ajax listener="#{bean.changeListernMethod}" render="@form" event="valueChange"/>

这就是如何实现部分提交,或者用你的话来说:更新bean中的对象而不重新加载页面。我键入的这行代码将触发ajax,并(仅)在选择值时更新表单,并且该值与之前选择的值不同。

查看更多信息:

https://docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/facelets/f/ajax.html

最新更新