質問内容
質問を評価する
(0ポイント)
|
下記のプログラムで、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)
|