2013-12-12 2 views
1

스피 작동되지 시간표Primefaces는 예약 일정에 대한 아래의 태그를 사용하여

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

내가 생성자에서이 eventModel를 초기화하면 ... 내가 다른 어떤 방법으로 초기화 할 경우 여기에 문제는 일정에만 표시지고있다 누구든지 도움이 될 수 있습니다 ... 그것이 작동하지 생성자보다 .. 여기

primefaces로 eventModel 코드 같은

는 보여 당신은 당신의 C를 초기화 할 수 있습니다

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())); 
+0

'어떤 방법'이란 무엇입니까? 당신이 부르는 방법은 무엇입니까? '어떤 방법'을 언제 부른거야? 달력을 초기화 한 후에'schedule' 요소를 업데이트 했습니까? – Manuel

+0

scheduleController.eventModel은 (null이 아닌) 초기화되어야하므로 @PostConstruct에서 수행하는 것이 더 좋습니다. 결국, 메서드에서 다시 초기화하려는 경우 괜찮습니다. – Ioan

+0

빈은 어떤 범위를 가지고 있습니까? 어떤 PF 버전? 페이지를 렌더링하는 동안 모든 브라우저 콘솔 오류가 발생합니까? – Manuel

답변

0

같은 경우 alendar는 PostConstruct 방법입니다. 이 메소드는, 클래스의 constructor가 불려 가면 (자) 불려갑니다. @ManagedProperty는 모두 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)); 
    } 
    } 

} 
+0

작동하지 않습니다. 또한 일정이 로그인 한 사용자를 기반으로 동적으로 변경되어야하기 때문에 사후 구축을 사용할 수 없습니다. –

+0

1. '작동하지 않습니다'라고 자세히 설명 하시겠습니까? 무슨 일이 일어날까요? 2. 현재 로그인 한 사용자를 어떻게 불러 옵니까? 콩으로? '@ManagedProperty'로 그 빈을 당신의'ScheduleController'에 넣으십시오. 그리고 거기에 당신의 사용자가 있습니다. – Manuel

+0

1) 아무 것도 렌더링되지 않고 있습니다. 그냥 공백으로 ... @ postconstruct가 시작 시간에로드 될 것입니다. 어떻게하면 컨트롤러에 콩을 주입해도 그 시간에 사용자 정보를 얻을 수 있습니다. –

관련 문제