###前提・実現したいこと
Springで「会議室予約」のプログラムを作成中です。
トップ画面に、今日の日付の一覧画面が表示され、
会議室名をクリックすると
こちらの予約画面(今日)が表示されるようになっています。
トップ画面の「カレンダーから日付を指定」からカレンダー画面に遷移し、
カレンダーの日付から先ほどの予約画面(指定した日付)に遷移させたいです。
###発生している問題・エラーメッセージ
日付をクリックするとURLが
http://localhost:8080/@%7B
で、エラーメッセージ404になってしまいます。
【理想】
http://localhost:8080/rooms/2017-06-28
###該当のソースコード
HTML
1<body> 2<script th:inline="javascript"> 3/*<![CDATA[*/ 4//日付と時間の設定 5now = new Date(); 6year = now.getYear(); 7if (year < 1900) year += 1900; 8mon = now.getMonth()+1; 9day = now.getDate(); 10you = now.getDay(); 11 12//曜日の選択肢 13youbi = new Array("日","月","火","水","木","金","土"); 14youbi_color = new Array("ff0000","","","","","","0000ff"); 15 16//表示の設定 17today = year + "年" + mon + "月" + day + "日" + "(<font color='" + youbi_color[you] + "'>" + youbi[you] + "</font>)"; 18 19//画面に表示 20//document.write(today); 21//document.write("<hr>"); 22 23//1日 24fday = new Date(year+"/"+mon+"/1"); 25fyou = fday.getDay(); 26//末日 27 lday = new Array(31,28,31,30,31,30,31,31,30,31,30,31); 28if ((year%4 == 0 && year%100 != 0) || (year%400 == 0)) { 29 lday[1]++; 30 } 31//カレンダー表示 32document.write("<table border='2' align=center width='380px' height='350px'>"); 33document.write("<tr><th colspan='7'>"+year+"年"+mon+"月</th></tr>"); 34document.write("<tr>"); 35for (m = 0; m < 7; m++){ 36 document.write("<th><font color='" + youbi_color[m] + "'>" + youbi[m] + "</font></th>"); 37} 38document.write("</tr>"); 39for (n = 0; n < 6; n++) { 40 document.write("<tr>"); 41 for (m = 0; m < 7; m++){ 42 d = (n*7+m+1-fyou); 43 if (day == d) { 44 document.write("<td align='right' bgcolor='#ffaaaa'><a href='@{'/rooms/' + ${date.plusDays(1)}'>"); 45 }else { 46 document.write("<td align='right'><a href='@{'/rooms/' + ${date.plusDays(1)}'>"); 47 } 48 if (d > 0 && d <= lday[mon-1]) { 49 document.write("<font color='" + youbi_color[m] + "'>" + d + "</font>"); 50 }else { 51 document.write(" "); 52 } 53 document.write("</a></td>"); 54 } 55 document.write("</tr>"); 56 if (d >= lday[mon-1]) break; 57} 58document.write("</table>"); 59/*]]>*/ 60</script> 61</body>
###試したこと
//カレンダー表示
~省略~
if (day == d) {document.write("<td align='right' bgcolor='#ffaaaa'><a href='@{'/rooms/' + ${date.plusDays(1)}'>");}
else {document.write("<td align='right'><a href='@{'/rooms/' + ${date.plusDays(1)}'>");
本来なら<a href="@{'/rooms/' + ${date.plusDays(1)}">
にするべきだと思うのですが外側のdocument.writeの""があってエラーになります。(というよりカレンダーが表示されなくなる)
少しググってみたら"で囲めるとあったのですが、
aタグ内が文字列として認識されてしまいダメでした。
###補足情報(言語/FW/ツール等のバージョンなど)
とりあえず予約画面に遷移したいのでplusDays(1)にしています。
拙い文章で申し訳ありませんが、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー