Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

servletについて(カレンダー)

下記のプログラムで、javaで使用したint型の
year,monthをHTMLのvalueで使用したい場合どうしたら
いいのでしょうか?
場所は下の部分です
 pw.println("<input type=\"hidden\"name=\"httpyear
\"value=year>");
          pw.println("<input type=\"hidden\"name=
\"httpmonth\"value=month>");
NEXTボタンが押された処理はまだ作っていませんまた、 
if(btn==null)から、elseまでは表示できています

import java.io.IOException;//インポート
import java.io.PrintWriter;//インポート
import javax.servlet.ServletException;//インポート
import javax.servlet.http.HttpServlet;//インポート
import javax.servlet.http.HttpServletRequest;//イ
ンポート
import javax.servlet.http.HttpServletResponse;//イ
ンポート

public class CalendarServlet4 extends 
HttpServlet{//クラスの定義
    public void doGet(HttpServletRequest 
request,HttpServletResponse response)//サーブレッ
トの定義
        throws ServletException,IOException{//ブラ
ウザを呼ぶメソッドの定義
        String 
type=request.getParameter("button");
        String btn=request.getParameter("button");
        response.setContentType("text/html; 
charset=UTF-8");//文字コードの設定
        String 
tmptype1=request.getParameter("httpyear");
        String 
tmptype2=request.getParameter("httpmonth");
        int year=0;
        int month=0;
        PrintWriter pw=response.getWriter();//pwは
PrintWriter

        if(btn==null){
        year=2014;
        month=7;
            HttpCalendar calendar=new 
HttpCalendar(year,month);//カレンダーのインスタン
ス化
            pw.println("<HTML>");//HTMLの開始
            pw.println("<HEAD>");//HEADの開始
            pw.println("
<TITLE>Calendar</TITLE>");//TITLEの開始
            pw.println("</HEAD>");//HEADの定義
            pw.println("<BODY>");//BODYの定義
            pw.println("<center>");
            pw.println("<form action=省略>");
            pw.print("<input type=\"submit\"name=
\"button\"value=\"PREV\">");
            pw.print("  ");
            pw.println("<input type=\"submit
\"name=\"button\"value=\"NEXT\">");
            pw.println("<input type=\"hidden
\"name=\"httpyear\"value=year>");
            pw.println("<input type=\"hidden
\"name=\"httpmonth\"value=month>");
            pw.println("<br>");
            pw.println(year+"年"+month+"月");
            pw.println(calendar.getCalendar());
            pw.println("<br>");
                       pw.println("</center>");
            pw.println("</form>");
            pw.println("</BODY>");//BODYの終了
            pw.println("</HTML>");//HTMLの終了
        }else if(type.equals("PREV")){
            year=Integer.parseInt(tmptype1);//文字
を数字に変換
            month=Integer.parseInt(tmptype2);//文
字を数字に変換
        HttpCalendar calendar=new 
HttpCalendar(year,month);//カレンダーのインスタン
ス化
          pw.println("<HTML>");//HTMLの開始
          pw.println("<HEAD>");//HEADの開始
          pw.println("
<TITLE>Calendar</TITLE>");//TITLEの開始
          pw.println("</HEAD>");//HEADの定義
          pw.println("<BODY>");//BODYの定義
          pw.println("<center>");
          pw.println("<form action=省略">
          pw.print("<input type=\"submit\"name=
\"button\"value=\"PREV\">");
          pw.print("  ");
          pw.println("<input type=\"submit\"name=
\"button\"value=\"NEXT\">");
          pw.println("<input type=\"hidden\"name=
\"httpyear\"value=year>");
          pw.println("<input type=\"hidden\"name=
\"httpmonth\"value=month>");
          pw.println("<br>");
          pw.println(year+"年"+month+"月");
          pw.println(カレンダー表示);
          pw.println("</center>");
          pw.println("</form>");
          pw.println("</BODY>");//BODYの終了
          pw.println("</HTML>");//HTMLの終了
        }
    }
}

エラー
java.lang.NumberFormatException: For input string: 
"year"
    java.lang.NumberFormatException.forInputSt
ring(NumberFormatException.java:65)
    java.lang.Integer.parseInt(Integer.java:49
2)
    java.lang.Integer.parseInt(Integer.java:52
7)
    CalendarServlet4.doGet(CalendarServlet4.ja
va:46)
    javax.servlet.http.HttpServlet.service(Htt
pServlet.java:690)
    javax.servlet.http.HttpServlet.service(Htt
pServlet.java:803)
    org.apache.catalina.servlets.InvokerServle
t.serveRequest(InvokerServlet.java:420)
    org.apache.catalina.servlets.InvokerServle
t.doGet(InvokerServlet.java:134)
    javax.servlet.http.HttpServlet.service(Htt
pServlet.java:690)
    javax.servlet.http.HttpServlet.service(Htt
pServlet.java:803)
    sun.reflect.GeneratedMethodAccessor895.inv
oke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.i
nvoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.jav
a:601)
    org.apache.catalina.security.SecurityUtil$
1.run(SecurityUtil.java:244)
    java.security.AccessController.doPrivilege
d(Native Method)
    javax.security.auth.Subject.doAsPrivileged
(Subject.java:536)
    org.apache.catalina.security.SecurityUtil.
execute(SecurityUtil.java:276)
    org.apache.catalina.security.SecurityUtil.
doAsPrivilege(SecurityUtil.java:162)

2

回答

12717

閲覧

2件の回答

評価

0

この辺から参考にしてみてはどうでしょう?
http://www.javaroad.jp/servletjsp/sj_servlet1.htm

評価

0

投稿者です

すいません、わかりませんでした

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。