0

我试图写一个包含调度程序的简单页面

看起来不错,但听众喜欢

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

2 回答 2

1

我有一个类似的问题,我的事件没有出现。事实证明,我有嵌套的表单和 outputLabel 元素,它们不允许计划正确呈现。我不知道为什么,但是一旦我最小化了嵌套,它就呈现得很好。把它丢去外面。

于 2013-01-08T16:43:41.137 回答
0

灵魂<p:resources/>被放在里面<head>。检查用户指南的第 2.3 章。

与问题无关,我强烈建议放弃 JSP 并使用它的继任者 Facelets。

于 2010-08-29T13:32:49.173 回答