完整的日历json feed不能在struts2中工作

时间:2014-09-02 05:47:23

标签: jquery json struts2 fullcalendar

  <script type="text/javascript">
        $(function() {

            var date = new Date();
            var d = date.getDate(),
            m = date.getMonth(),
            y = date.getFullYear();
            $('#calendar').fullCalendar({
                header: {
                   left: 'prev,next today',
                   center: 'title',
                   right: 'month,agendaWeek,agendaDay'
                },
                defaultDate: '2014-09-12',
                editable: true,
                eventLimit: true, 
                events: '/myCal'  
            });
        });
    </script>


         my json feed : 
            {             
                "allDay":"false",
                "end":"2014-09-03",
                "id":"1",
                "start":"2014-09-02",
                "title":"EventXYZ" 
            }



           <script>                  
                events: 
                [
                   {
                      "allDay":"false",
                      "end":"2014-09-03",
                      "id":"1",
                      "start":"2014-09-02",
                      "title":"EventXYZ"
                   }
               ]
         </script>

如果我使用上面的代码,那么它会在我的日历页面上显示。

我正在使用struts2,并且操作正在返回我要在日历中显示的json Feed。

日历操作类具有以下内容,包含getter和setter。

public CalendarAction() {
}
    public String title;
    public String start;
    public String end;
    public String id;
    public String allDay;

public String execute() {
     title = "EventXYZ";
     start = "2014-09-02";
     end = "2014-09-03";
     id = "1";
     allDay = "false";
     return SUCCESS;
}

我可以生成json格式。 但无法在日历插件中添加json数据。 混淆了如何在脚本或任何url或ajax调用中传递操作。

1 个答案:

答案 0 :(得分:0)

除了这个struts.xml之外,一切都是正确的 我正在返回一个列表,列表的名称被附加到json ...因此解析时看不到json数组

我做了以下更改:

      <script type="text/javascript">

        $(function() { 

            var date = new Date();

            var d = date.getDate(),

                    m = date.getMonth(),

                    y = date.getFullYear();
                    $('#calendar').fullCalendar({
                     header: {
                     left: 'prev,next today',
                     center: 'title',
                     right: 'month,agendaWeek,agendaDay'
                },
                     defaultDate: '2014-09-12',
                     editable: true,
                     eventLimit: true, // allow "more" link when too many events


             events:"/HMSPro/myCal"
});

        });
    </script>

struts.xml文件:

      <action name="myCal" class="pack1.CalendarAction"> 
      <result name="success" type="json">
      <param name="contentType">application/json</param>
      <param name="root">
            calList 
        </param>

       </result>
      </action>

calList是返回其属性的bean-List的名称:     喜欢开始,结束,时间,等等。