• ベストアンサー

javaでカレンダー作成

jspでカレンダーを作成しているのですが、今月のページから来月や先月または来年等に遷移するにはどの様に作ればよいのでしょうか? 各月ごとに.jspを作るのは不可能だと思うのですが、それ以外が思いつきません。 方法を教えていただけないでしょうか?よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.3

No.2 です > 案1が一番考えやすいと思うのですがなぜお勧めとしては高くないのでしょうか? Webサービスの世界には RESTful という考え方がありまして、 ある技術的な制限を設けてサービスを設計すると、 いろいろと好ましいとされています。 その制限の一つが「すべての情報は汎用的な構文で一意に識別される」 ぶっちゃけると「URLは、パス部だけ有れば十分。クエリ部なぞ不要!」 (悪い例) http://service.example.ne.jp/calendar?y=2014&m=02 (良い例) http://service.example.ne.jp/calendar/2014/02 というわけで、カレンダーという今回のサービス内容を考えると Webサービスっぽく設計するのが好ましいと思い、 案1よりも案2をオススメします。 RESTful の設計について分かりやすい記事 http://www.atmarkit.co.jp/ait/articles/1310/23/news078_2.html

その他の回答 (2)

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.2

案1. 一つの JSP で、パラメーターにて表示を分ける (例) URL = "/calendar.jsp?month=201402" /calendar.jsp にて、リクエストを処理する request.getParameter("month") で "201402" を取得する パラメーターがなければ当月を表示 案2. 一つの JSP で、複数の URL をまとめて処理する ちょっと敷居が高い (例) URL = "/calendar/2014/02" web.xml で、/calendar/* を /jsp/calendar.jsp に割り当てる /WEB-INF/jsp/calendar.jsp にて、リクエストを処理する request.getPathInfo() で "/2014/02" を取得する null や "/" や "current" なら、当月を表示 案3. 実装は案1で、見た目は案2 Webサーバーの設定にて、URLの擬似静的化を行う Apache なら mod_rewrite など 案4. 今月は JSP で描画し、その他の月は別のJSPから AJAX で取得して書き換える 個人的には大変興味深いが、不必要に複雑となるので初心者向きでない 案5. 今月は JSP で描画し、その他の月は JavaScript で頑張る 個人的には(後略) オススメ順は 2 > 3 > 1 >> 4 = 5 です

ofuoo
質問者

お礼

こちらも遅れましたがありがとうございます。 案1が一番考えやすいと思うのですがなぜお勧めとしては高くないのでしょうか?

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

受け取った年月をは。 パラメータで年月を受け取り、その値を起点としてカレンダーを作成します。 今、作ってあるソースに以下を追加します。 年月パラメータを受け取る 受け取った年月を使うように修正 前月分、来月分等のリンクを生成(カレンダークラスなんかで計算) 以上です。

ofuoo
質問者

お礼

遅れましたがありがとうございます。 カレンダークラスで遷移先、現在の時刻取得で今、を作成して組み合わせて作るという事ですよね。

関連するQ&A