- 締切済み
時間の加算と初期値・加算値をクッキーに保存
WEB上で日程表を作成したいのですが日付・時刻の加算とクッキーに保存する方法が分かりませんので教えて下さい ┌──┬────┐ │値1 │加算値1 │ ├──┼────┤ │値2 │加算値2 │ ├──┼────┤ │値3 │加算値3 │ ├──┼────┤ │値4 │加算値4 │ ├──┼────┤ │値5 │加算値5 │ └──┴────┘ 上記の様な表をテーブルで作成します 値1はinputタグで任意の日時を入力(「2003/9/5 16:00」等) 加算値1以降はinputタグで任意の時間を入力(2時間の場合「2」等) 値2以降は計算結果を表示する 値1に「2003/9/5 16:00」と入力 加算値1に「2」と入力 値2は値1+24時間+加算値1=「2003/9/5 18:00」と表示される 値3は値2+24時間+加算値2=「2003/9/6 18:00」と表示される(加算値2は未入力) 値4は値3+24時間+加算値3=「2003/9/7 19:00」と表示される(加算値3は「1」入力) 以下同様 値1・加算値1以降のinputタグに入力した値をクッキーに保存する 仕様としては以上です 宜しくお願い致します
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ssr-y6
- ベストアンサー率71% (5/7)
その条件のものをJSPで作ると以下のようになると思います。 <%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <title>? Diaglam</title> </head> <body> <% String D[] = new String[5], T[] = new String[5], s[], r; int i; for (i = 0; i < 5; i ++) { D[i] = ""; T[i] = ""; }; java.text.DateFormat F = java.text.DateFormat.getDateTimeInstance(); out.println(F.format(new java.util.Date()) + "<br>"); Cookie[] Co = request.getCookies(); if (Co != null) { for (i = 0; i < Co.length; i ++) if (Co[i].getName().compareTo("qa647256") == 0) break; if (i < Co.length) { s = Co[i].getValue().split("&"); if (s.length == 7) { D[0] = s[0]; for (i = 0; i < 5; i ++) T[i] = s[i + 1]; }; }; }; if ((r = request.getParameter("d0")) != null) { D[0] = r; for (i = 0; i < 5; i ++) if ((r = request.getParameter("t" + Integer.toString(i))) != null) T[i] = r; for (r = D[0], i = 0; i < 5; i ++) r += "&" + T[i]; Cookie C1 = new Cookie("qa647256", r + "&end"); C1.setMaxAge(2592000); response.addCookie(C1); }; if (D[0].compareTo("") != 0) { try { java.util.Calendar C = java.util.Calendar.getInstance(); C.setTime(F.parse(D[0])); for (i = 0; i < 4; i ++) { C.add(java.util.Calendar.DAY_OF_MONTH, 1); C.add(java.util.Calendar.HOUR_OF_DAY, T[i].compareTo("") == 0 ? 0 : Integer.parseInt(T[i])); D[i + 1] = F.format(C.getTime()); }; } catch (Exception e) { out.println("DateTimeNG<br>"); }; }; %> <form action="http://localhost:8080/minnaservlet/jsps/diagram1.jsp" method="GET"> <table border="1"> <tr><td><input type="text" name="d0" value="<%=D[0]%>"></td> <td><input type="text" name="t0" value="<%=T[0]%>"></td></tr> <% for (i = 1; i < 5; i ++) { %> <tr><td><%=D[i]%></td><td><input type="text" name="t<%=i%>" value="<%=T[i]%>"></td></tr> <% }; %> </table> <input type="submit" value="update"> </form> </body> </html>
- chi-kon
- ベストアンサー率43% (58/132)
質問の直接の答えではないのですが、 どのような環境になっていますか? たとえばJSP+Servletです。とかstrutsをつかってますとか。 問題が処理と表示が合わさったものになっているので できることなら分けたほうが良いのではないかと思いました。 またクッキーを直で使うようですが、 情報はサーバ側に保存(HttpSession)を使うなどにしなくていいのでしょうか?