2010-08-29 9 views
0

i ont essayé d'écrire une page simple contenant ordonnanceuravec le calendrier des primefaces

il semble bien, mais les auditeurs comme

eventSelectListener, dateSelectListener, eventMoveListener jamais tiré!

quel est le problème

voici mon code:

<%@ 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> 

et mon haricot est de retour:

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; 
    } 
} 

Répondre

0

Le <p:resources/> Sould être placé à l'intérieur du <head>. Vérifiez le chapitre 2.3 du User Guide. Sans rapport avec le problème, je recommande fortement d'abandonner JSP et d'utiliser son successeur Facelets.

+0

merci, changer la position n'aide pas! J'ai essayé d'utiliser faceclet mais j'ai échoué! pourriez-vous s'il vous plaît répondre à mon message? http://stackoverflow.com/questions/3598738/how-to-make-fangle-work merci – arash

+0

merci maintenant travaux facelet. mais ça ne montre pas les événements! aussi le problème ci-dessus n'a pas été résolu! – arash

+0

Utilisez-vous JSF 1.2 ou 2.0? J'ai l'impression que vous utilisiez JSF 1.2 et que vous lisez des directives/tutoriels ciblés sur JSF 2.0, ce qui entraîne tous les problèmes et la confusion. Si votre servletcontainer est capable de le faire, je recommande d'opter pour JSF 2.0. – BalusC

1

J'ai eu un problème similaire avec mes événements n'apparaissant pas. Comme il s'est avéré que j'avais imbriqués et les éléments outputLabel qui ne permettrait pas le calendrier de rendre correctement. Je ne sais pas pourquoi, mais une fois que j'ai minimisé l'imbrication, ça s'est bien passé. Juste jeter ça là-bas.