2

我想在 dd/MM/yyyy 格式的 jsp 页面中显示来自数据库的日期。这是我的 javascript 代码。

$(document).ready(function(){
    <%
         SDateDTO sDTO = (SDateDTO) request.getAttribute("sDTO");  
    if(null != scholAvailDTO){
        System.out.println(scholAvailDTO.getEndDate());
    %>

        var end = <%=scholAvailDTO.getEndDate() %>;
        $("#endDateId").val(end);
       <%       
    }
    %>

});

在控制台中,它将在 2010 年 4 月 27 日到来,但在 jsp 中,它会像 0.0033582089552238806 一样填充,这实际上是日期的除法结果。任何帮助将不胜感激。谢谢,阿米特

4

2 回答 2

2

如果getEndDate()返回java.util.Date对象,则使用DateFormatfor 获取格式化的字符串,然后将值用引号括起来,如下所示:

    <%DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");%>
    var end = "<%=formatter.format(scholAvailDTO.getEndDate()) %>";

如果getEndDate()返回java.lang.String,则只需将值用引号括起来,如下所示:

   var end = "<%=scholAvailDTO.getEndDate() %>";
于 2012-11-14T18:37:17.247 回答
2

嗯,是的 - 您的 Javascript 可能会以如下方式呈现给浏览器:

var end = 27/04/2010;

如果您希望它在字符串文字中,那么您需要自己添加引号:

var end = "<%=scholAvailDTO.getEndDate() %>";

请注意,您需要确信该值本身没有引号 - 或其他不适合 JavaScript 的值 - 在那里。我怀疑可能有比上述更好的方法。

于 2012-11-14T18:37:30.943 回答