проблема с графиком простых лиц - PullRequest
0 голосов
/ 29 августа 2010

Я пытался написать простую страницу, содержащую планировщик

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

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

Ответы [ 2 ]

1 голос
/ 08 января 2013

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

0 голосов
/ 29 августа 2010

<p:resources/> должен быть размещен внутри <head>. Обратитесь к главе 2.3 Руководства пользователя .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...