在BootStrap中,通过AJAX调用后端bean似乎不适用于DateTimePicker组件。
如果我的代码错了,有没有人可以帮助我?
同样令我惊讶的是,BootStrap的DateTimePicker参考页面不能与AJAX一起工作。在参考页面(https://showcase.bootsfaces.net/forms/DateTimePicker.jsf)上
参考代码
<b:form>
<b:dateTimePicker value="#{test.dataToPick}" ondtchange="ajax:test.updateTestField()" process="@this" update="@next" label="Select date:" iconAwesome="bolt" />
<b:inputText value="#{test.testField}" label="Result: " readonly="true" />
</b:form>也不起作用。
以下是我的代码无法工作的代码:
<b:form>
<b:dateTimePicker value="#{listBean.editMonth}"
readonly="false"
allow-input-toggle="false"
icon-position="right"
mode="popup"
format="MMM YYYY"
side-by-side="false"
show-date="true"
show-time="false"
show-icon="true"
required="true"
viewMode="months"
locale="en"
iconSize="xs"
styleClass="datePicker"
id="monthpicker"
process="@this"
ondtchange="ajax:listTradesBean.updateMonth()"
onblur="ajax:listTradesBean.updateMonth()"/>
</b:form>通常情况下,我希望后端代码"updateMonth()“会被调用。后端bean的java代码片段简单地说是:
public void updateMonth() {
System.out.println("WORKING!");
}使用AJAX调用此后端bean中的其他方法时不会出现问题。
发布于 2019-06-18 18:20:29
您是对的,Bootsfaces展示页面中的示例不起作用。
奇怪的是,我成功地构建了一个工作示例,它使用传统的JSF AJAX (遗留)语法解决了您的问题:
<b:dateTimePicker id="datePicker"
format="DD/MM/YYYY HH:mm"
value="#{testBB.selectedDate}"
required="true"
renderLabel="false"
ajax="true"
process="@this"
update="@this"
ondtchange="#{testBB.doSomething()}">
</b:dateTimePicker>据我所知,这将与"ajax:testBB.doSomething()“的工作方式相同。
https://stackoverflow.com/questions/56303869
复制相似问题