2

jsp ページのデータベースからの日付を dd/MM/yyyy 形式で表示したいと考えています。これが私の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);
       <%       
    }
    %>

});

コンソールでは 27/04/2010 になっていますが、jsp では実際には日付の除算結果である 0.0033582089552238806 のように入力されています。どんな助けでも大歓迎です。ありがとう、アミット

4

2 に答える 2

2

オブジェクトをgetEndDate()返す場合は、フォーマットされた文字列を取得するために使用し、以下のように値を引用符で囲みます。java.util.DateDateFormat

    <%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 に答える