你好,在我的项目中遇到困难,我来这里寻求你的帮助。欢迎你的不同观点。我使用primefaces时间表来执行给定的任务,但我不知道如何我可以向我的后台bean传递一个参数。当像SelectEvent或dateSelect这样的调度事件被触发时,我想在backing bean中使用这个参数。例如,如果我有一个参数personeID,我将传递这个参数设置为bean,以便actionListener在激活它时设置可以在bean中初始化,以便我可以使用。我的代码
<p:schedule id="schedule" value="#{inscrireAgendaBean.eventModel}" widgetVar="myschedule" process="@form" axisFormat="HH:mm" columnFormat="dddd D/MM" firstHour="08" locale="fr" timeZone="GMT+1" timeFormat="HH:mm">
<p:ajax event="dateSelect" listener="#{inscrireAgendaBean.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
<p:ajax event="eventSelect" listener="#{inscrireAgendaBean.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
</p:schedule>
我只是想知道是否有可能在eventSelect或dateSelect触发时向我的bean添加参数谢谢!!
我从你的问题中了解到,当你选择一个事件时,你想触发一个监听器,所以你必须添加一个p:ajax
和一个eventSelect
事件:
<p:schedule id="scheduleLocale" value="#{managedBean.schedule}" draggable="false" resizable="false" axisFormat="HH:mm" columnFormat="dddd D/MM" firstHour="08" locale="fr" timeZone="GMT+1" timeFormat="HH:mm" >
<p:ajax event="eventSelect" listener="#{managedBean.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
</p:schedule>
和managedBean上的onEventSelect
方法将如下所示:
public void onEventSelect(SelectEvent selectEvent) {
event = (ScheduleEvent) selectEvent.getObject();
}
因此getObject()
将允许您检索信息,如 personid ,这取决于您是否实际放置personelID当您第一次使用event = new DefaultScheduleEvent()
通过选择日程表上的日期来添加事件,您可以使用p:ajax
和dateSelect
event:
<p:ajax event="dateSelect" listener="#{managedBean.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
这将显示一个对话框,你可以把任何你想要添加到事件的信息,用户会输入它,所以不需要传递任何参数