【问题标题】:Primefaces schedule not workingPrimefaces 计划不起作用
【发布时间】:2013-12-30 14:37:11
【问题描述】:

我正在使用下面的标签来安排日历

<p:schedule id="schedule" value="#{scheduleController.eventModel}" widgetVar="myschedule">  

这里的问题是,只有当我在构造函数中初始化这个 eventModel 时,才会显示时间表……如果我在构造函数之外的其他方法中初始化它不起作用……任何人都可以帮忙..

这里的 eventModel 代码与 primefaces show case 一样

eventModel = new DefaultScheduleModel();  
    eventModel.addEvent(new DefaultScheduleEvent("Champions League Match", previousDay8Pm(), previousDay11Pm()));  
    eventModel.addEvent(new DefaultScheduleEvent("Birthday Party", today1Pm(), today6Pm()));  
    eventModel.addEvent(new DefaultScheduleEvent("Breakfast at Tiffanys", nextDay9Am(), nextDay11Am()));  
    eventModel.addEvent(new DefaultScheduleEvent("Plant the new garden stuff", theDayAfter3Pm(), fourDaysLater3pm()));  

【问题讨论】:

  • 什么是“某种方法”?是您调用的方法吗?您何时调用“某种方法”?您在初始化日历后是否更新了 schedule 元素?
  • scheduleController.eventModel 应该被初始化(非空),所以我认为最好在@PostConstruct 中进行。最终,如果你想在一个方法中重新初始化它,那很好。
  • 你的 bean 有什么作用域?哪个PF版本?呈现页面时是否出现浏览器控制台错误?
  • 我的控制器是 @ViewScoped annotated.am 使用 PF 4.0 版本,我的控制台没有任何错误..
  • 然后添加一些SSCCE

标签: primefaces


【解决方案1】:

您可以在PostConstruct 方法中初始化您的日历。该方法将在调用类的构造函数后直接调用,并且所有@ManagedPropertys 都设置为1

public class ScheduleController {

  @ManagedProperty
  private UserBean userBean; // + setter

  private ScheduleModel eventModel; // + getter

  private ScheduleController() {
    // do nothing here
  }

  @PostConstruct
  private void init() {
    eventModel = new DefaultScheduleModel();

    if (userBean.hasPermission("something")) {
      eventModel.addEvent(new DefaultScheduleEvent("one", date1, date2));
      eventModel.addEvent(new DefaultScheduleEvent("two", date2, date3));
    } else {
      eventModel.addEvent(new DefaultScheduleEvent("three", date4, date5));
      eventModel.addEvent(new DefaultScheduleEvent("four", date5, date6));
    }
  }

}

【讨论】:

  • 它不工作。此外,我不能使用 postconstruct,因为需要根据登录用户动态更改时间表...
  • 1.详细说明“它不起作用”?发生了什么,渲染了什么? 2.如何获取当前登录用户?通过一些豆子?将该 bean 作为 @ManagedProperty 注入到您的 ScheduleController 中,您就拥有了您的用户。
  • 1) 什么都没有渲染..只是空白...@postconstruct 将在启动时加载,即使我将我的 bean 注入控制器,我如何在那个时候获取用户信息。
猜你喜欢
  • 2014-03-08
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多