Bootstrap datepicker问题:在选定的任何日期,月份是1月

时间:2014-08-07 06:00:18

标签: jquery jsp twitter-bootstrap datepicker

我正在使用bootstrap中的日期选择器,无论我选择哪个日期,月份的输出都是1月。

reports.jsp

<%@ include file="/WEB-INF/template/taglibs.jsp"%>    
<div class="container">
    <%@ include file="/WEB-INF/jsp/login/menu.jsp" %>
    <form:form commandName="submitForm" method="post"
        class="form-horizontal form-width addbtn">

        <fieldset>
            <legend>Generate ${type} report</legend>
            <input class="hidden" type="text" hidden="true"
                    name="id" value="${param.id}" />
                <div class="form-group">
                    <label for="date-picker-2" class="col-lg-2 control-label">Start date</label>
                    <div class="col-lg-10 controls">
                        <div class="input-group date-picker-2">
                            <input id="date-picker-1" type="text" name="startDate"
                                class="date-picker form-control" /> <label for="date-picker-1"
                                class="input-group-addon btn"><span
                                class="glyphicon glyphicon-calendar"></span> </label>
                        </div>
                    </div>
                </div>
                <div class="form-group">
                    <label for="date-picker-2" class="col-lg-2 control-label">End date</label>
                    <div class="col-lg-10 controls">
                        <div class="input-group date-picker-2">
                            <input id="date-picker-2" type="text" name="endDate"
                                class="date-picker form-control" /> <label for="date-picker-2"
                                class="input-group-addon btn"><span
                                class="glyphicon glyphicon-calendar"></span> </label>
                        </div>
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-lg-10 col-lg-offset-2">
                        <button type="submit" class="btn btn-warning">Submit</button>
                    </div>
                </div>
        </fieldset>
    </form:form>
</div>


<script type="text/javascript">
    $(".date-picker").datepicker({
        format : 'yyyy-mm-dd'
    });
    $('.datepicker tbody').on('click', function(){  $('.datepicker').hide()});
</script>

layout.jsp

<%@ include file="taglibs.jsp"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><tiles:insertAttribute name="title" ignore="true" /></title>


<link rel="stylesheet"
    href="<c:url value="/bootstrap/css/bootstrap.min.css"/>"
    type="text/css" />

<link rel="stylesheet"
    href="<c:url value="/bootstrap/datepicker/css/datepicker.css"/>"
    type="text/css" />

<link rel="stylesheet" href="<c:url value="/css/basic.css"/>"
    type="text/css" />

<script type="text/javascript"
    src="<c:url value="/js/jquery-1.11.0.js"/>"></script>

<script type="text/javascript"
    src="<c:url value="/bootstrap/datepicker/js/bootstrap-datepicker.js"/>"></script>

<script type="text/javascript"
    src="<c:url value="/bootstrap/js/bootstrap.min.js"/>"></script>

</head>
<body>
    <tiles:insertAttribute name="header" />
    <tiles:insertAttribute name="body" />
    <tiles:insertAttribute name="footer" />
</body>
</html>

ReportsController.java

package catering.web.controller;    
import java.sql.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;    
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;    
import org.apache.log4j.Logger;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;    
import catering.web.data_access.DetailedReportDataAccess;
import catering.web.data_access.OrderReportDataAccess;
import catering.web.model.DetailedReport;
import catering.web.model.OrderReport;
import catering.web.view_model.ReportViewModel;


@Controller
public class ReportsController {

protected static Logger logger = Logger.getLogger("controller");

@RequestMapping(value="reports", method = RequestMethod.GET)
public String reportsGet(@RequestParam int id, Model model, Authentication authentication){

    logger.debug("Received request to show reports page(GET)"); 

    model.addAttribute("username", "Welcome " + authentication.getPrincipal() + "!");
    switch(id){
    case 1: 
        model.addAttribute("type", "detailed");
        break;
    case 2:
        model.addAttribute("type", "final");
        break;
    case 3:
        model.addAttribute("type", "orders");
        break;      
    }
    return "reports";
}

@RequestMapping(value = "reports", method = RequestMethod.POST)
public ModelAndView fullReport(@ModelAttribute("submitForm") ReportViewModel reportData, ModelAndView model){

    logger.debug("Received request to download PDF report");

    Date sqlStartDate = new Date(reportData.getStartDate().getTime());
    Date SqlEndDate = new Date(reportData.getEndDate().getTime());


    switch(reportData.getId()){
    case 1: 


        List<DetailedReport> reports = DetailedReportDataAccess.getDetailedReport();
        JRDataSource dataSource1 = new JRBeanCollectionDataSource(reports);
        Map<String, Object> parameterMap1 = new HashMap<String, Object>();

        parameterMap1.put("datasource", dataSource1);
        model = new ModelAndView("detailedReport", parameterMap1);

        break;

    case 2:

        List<OrderReport> orders = OrderReportDataAccess.getFinalOrder(sqlStartDate,SqlEndDate);
        System.out.println(orders.size());
        JRDataSource dataSource2 = new JRBeanCollectionDataSource(orders);
        Map<String,Object> parameterMap2 = new HashMap<String,Object>();

        parameterMap2.put("datasource", dataSource2);
        model = new ModelAndView("finalReport1", parameterMap2);

        break;

    case 3:

        break;
    }       

    return model;
}           
}

ReportViewModel.java

 package catering.web.view_model;
 import java.util.Date;
 import org.springframework.format.annotation.DateTimeFormat;

 public class ReportViewModel {

    @DateTimeFormat(pattern = "yyyy-mm-dd")
    private Date startDate;
    @DateTimeFormat(pattern = "yyyy-mm-dd")
    private Date endDate;

    private int id;


    public Date getStartDate() {
        return startDate;
    }
    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }
    public Date getEndDate() {
        return endDate;
    }
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }    
}

0 个答案:

没有答案
相关问题