2010-08-29 3 views
0

я попытался написать простую страницу, содержащую планировщикпроблема с графиком primefaces

это выглядит хорошо, но слушатели, как

eventSelectListener, dateSelectListener, eventMoveListener никогда не уволят!

, что это проблема

это мой код:

<%@ page language="java" pageEncoding="ISO-8859-1"%> 
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 
<%@taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%> 
<%@taglib uri="http://primefaces.prime.com.tr/ui" prefix="p"%> 

<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
    <base href="<%=basePath%>"> 

    <title>My JSF 'Calendar.jsp' starting page</title> 

    <meta http-equiv="pragma" content="no-cache"> 
    <meta http-equiv="cache-control" content="no-cache"> 
    <meta http-equiv="expires" content="0"> 
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
    <meta http-equiv="description" content="This is my page"> 
    <!-- 
    <link rel="stylesheet" type="text/css" href="styles.css"> 
    --> 

</head> 

<body> 
    <f:view> 
    <p:resources/> 
     <h:form> 
     <p:schedule value="#{ScheduleBean.model}" editable="true" aspectRatio="4" 
     eventSelectListener="#{ScheduleBean.onEventSelect}" 
     dateSelectListener="#{ScheduleBean.onDateSelect}" 
     eventMoveListener="#{ScheduleBean.onEventMove}" 
     > 
     </p:schedule> 
     </h:form> 
    </f:view> 
</body> 
</html> 

и моя спина фасоль:

package com.pardis.calendar.model; 

import java.util.HashMap; 
import java.util.List; 

import javax.annotation.PostConstruct; 

import org.primefaces.event.DateSelectEvent; 
import org.primefaces.event.ScheduleEntryMoveEvent; 
import org.primefaces.event.ScheduleEntrySelectEvent; 
import org.primefaces.model.DefaultScheduleModel; 
import org.primefaces.model.ScheduleModel; 

import com.fanava.genericmanagedbeans.utls.ManagedBeanUtils; 
import com.pardis.calendar.dm.calendar.CalendarBean; 
import com.pardis.calendar.dm.user.UserBean; 

public class ScheduleBean { 
    private ScheduleModel model; 
    private int userId; 
    private int systemId; 

    public int getSystemId() { 
     return 1; 
    } 

    public void setSystemId(int systemId) { 
     this.systemId = systemId; 
    } 

    public ScheduleBean() { 
     model = new DefaultScheduleModel(); 
    } 
    @PostConstruct 
    public void Initialize() { 
     ... 
    } 
    public void onEventSelect(ScheduleEntrySelectEvent selectEvent){ 
     System.out.println("done"); 
    } 
    public void onDateSelect(DateSelectEvent selectEvent) { 
     System.out.println("done"); 
     } 
    public void onEventMove(ScheduleEntryMoveEvent selectEvent) { 
     System.out.println("move"); 
     } 

    public ScheduleModel getModel() { 
     return model; 
    } 

    public int getUserId() { 
     return 1; 
    } 

    public void setUserId(int userId) { 
     this.userId = userId; 
    } 
} 

ответ

0

<p:resources/> sould быть размещены внутри <head>. Проверьте главу 2.3 раздела User Guide.

Не связанный с проблемой, я настоятельно рекомендую отказаться от JSP и использовать его преемники Facelets.

+0

спасибо, изменение положения не помогает! Я попытался использовать faceclet, но я был безуспешным! не могли бы вы ответить на мой пост? http://stackoverflow.com/questions/3598738/how-to-make-facelet-work спасибо – arash

+0

спасибо, что сейчас работает facelet. но он не показывает события! также эта проблема не была решена! – arash

+0

Используете ли вы JSF 1.2 или 2.0? У меня создалось впечатление, что вы используете JSF 1.2 и читаете руководства/руководства, ориентированные на JSF 2.0, что приводит ко всем проблемам и путанице. Если ваш servletcontainer способен на это, я рекомендую пойти на JSF 2.0. – BalusC

1

У меня была аналогичная проблема с моими событиями, не появляющимися. Как оказалось, у меня были вложенные элементы формы и outputLabel, которые не позволяли графику правильно отображать. Я не уверен, почему, но как только я минимизировал вложенность, она выглядела просто отлично. Просто выбросьте это.