由scriptlet在jsp中的dd / MM / yyyy日期格式

时间:2012-11-14 18:34:09

标签: java javascript

我想以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实际上是日期的分割结果。任何帮助将不胜感激。谢谢,阿米特

2 个答案:

答案 0 :(得分:2)

如果getEndDate()返回java.util.Date个对象,则使用DateFormat获取格式化字符串,然后将值包装在引号中,如下所示:

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

如果getEndDate()返回java.lang.String,则只需将值包装在引号中,如下所示:

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

答案 1 :(得分:2)

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

var end = 27/04/2010;

如果你希望它是 in a string literal ,那么你需要自己添加引号:

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

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