現在学校の授業で制作しているカレンダーページのエラーコードに、明らかに元のソースには存在しない行が指定されており、対応方法がわからず困っています。
お力を貸していいただければ幸いです。
よろしくお願いいたします。
環境
Java 8
Tomcat 8.0.42
Eclipse
An exception occurred processing JSP page /showCalender.jsp at line 41 説明 The server encountered an internal error that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: An exception occurred processing JSP page /showCalender.jsp at line 41 38: Year = request.getParameter("YEAR"); 39: Month = request.getParameter("MONTH"); 40: 41: year = Integer.parseInt(Year);//整数化 42: month = Integer.parseInt(Month);//整数化 43: %> 44: <b><%= year %>年<%=month %>月のカレンダー</b> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:579) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 原因 java.lang.NumberFormatException: null java.lang.Integer.parseInt(Integer.java:542) java.lang.Integer.parseInt(Integer.java:615) org.apache.jsp.showCalender_jsp._jspService(showCalender_jsp.java:153) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
java
1<%@page import="sun.launcher.resources.launcher"%> 2<%@ page language="java" contentType="text/html; charset="UTF-8" 3 pageEncoding="UTF-8"%> 4<%@ page import="java.util.*" %> 5<!DOCTYPE html > 6<% 7int year;//年 8int month;//月 9int i,j;//週間カウンタ、1週間カウンタ 10int setSpace;//月のスタートまでのスペースセット 11int cntDay = 1;//日カウンタ 12int maxDay;//最大日数/月 13int week;//週インデックス 14String Year;//引き渡し年 15String Month;//引き渡し月 16String Day;//日 17String yearMD="00000000"; 18String mark = ""; 19%> 20<html> 21<head> 22<meta charset="UTF-8"> 23<title>カレンダー</title> 24<style type="text/css"> 25<!-- 26 *{padding:5px; margin:0px;} 27 body{text-align:center;} 28 table{width:800px; background:white; border:2px black solid; border-collapse:collapse;} 29 th{border:1px black solid; background:#CCFFFF;} 30 td{border:1px black solid; text-align:right; padding:5px 20px 5px 20px;} 31 br{line-height:1em;} 32--> 33</style> 34</head> 35<body> 36<% 37Calendar cal = Calendar.getInstance(); 38Year = request.getParameter("YEAR"); 39Month = request.getParameter("MONTH"); 40if(Month.length() == 1){ 41 Month = "0" + Month; 42} 43year = Integer.parseInt(Year);//整数化 44month = Integer.parseInt(Month);//整数化 45%> 46<b><%= year %>年<%=month %>月のカレンダー</b> 47<br/> 48<br/> 49<%= request.getAttribute("calender") %> 50<br/>//50 51<br/> 52<div style="text-align:center;"> 53<table border="1"> 54<tr> 55 <td align="center" width="30" bgcolor="#ffb6c1">日</td> 56 <td align="center" width="30" bgcolor="#90ee90">月</td> 57 <td align="center" width="30" bgcolor="#90ee90">火</td> 58 <td align="center" width="30" bgcolor="#90ee90">水</td> 59 <td align="center" width="30" bgcolor="#90ee90">木</td> 60 <td align="center" width="30" bgcolor="#90ee90">金</td> 61 <td align="center" width="30" bgcolor="#90ee90">土</td> 62</tr><% 63cal.set(year,month-1,1); 64maxDay = cal.getActualMinimum(cal.DATE); 65week = cal.get(Calendar.DAY_OF_WEEK); 66for(i = 1;i<=6;i++){ 67 if(cntDay >maxDay )break;//最大日数からオーバーか 68 out.println("<tr align='right'>"); 69 for(j=1;j<=7;j++){ 70 out.println("<td>"); 71 if(cntDay <= 1){ 72 setSpace = week -1; 73 }else{ 74 setSpace = 0; 75 } 76 if(j>setSpace){ 77 Day = Integer.toString(cntDay); 78 if(Day.length() == 1){ 79 Day = "0" + Day; 80 } 81 yearMD = Year + Month + Day;//年月日8桁表示 82 mark = ""; 83 84 85 86%> 87 88<a href="/showAttend.jsp?Ymd=<%=yearMD%>"> 89<%= mark%><%=cntDay %> 90</a> 91<% 92 93 if(cntDay> maxDay){ 94 out.println("</td>"); 95 break; 96 } 97 }else{ 98%> 99 100<%//100 101 102 } 103 out.println("</td>"); 104 } 105 out.println("</tr>"); 106} 107cntDay = 1;//日カウンタ初期化 108%> 109 110 111</table><br> 112<a href="menu.jsp">メニューへ戻る</a> 113</div> 114</body> 115</html>

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。