org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NullPointerException
java.util.Arrays.mergeSort(Arrays.java:1156)
java.util.Arrays.sort(Arrays.java:1080)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
문자열 배열을 정렬하고 java.lang.NullPointerException을 수신하려고합니다. 이것은 코드의 일부일 뿐이지 만 오류와 관련된 부분입니다. 나는 문자열 배열 myRows를 초기화 할 때 값을 null로 설정한다는 것을 알고있다. 그러나 null을 확인하고 item_value, period_value 및 periodAmt_value 값을 설정 값으로 설정합니다. 배열의 내용을 출력 할 때 설정된 값을 포함합니다. java.util.Arrays.sort()가 작동하지 않는 이유와 왜 오류인지 이해하지 마십시오. 어떤 도움이라도 대단히 감사합니다 !!JSP java.lang.NullPointerException
<%
String item_name;
String item_value;
String period_name;
String period_value;
String periodAmt_name;
String periodAmt_value;
String annualAmt_name;
int error_count = 0;
int annualAmt_value = 0;
int totalExp = 0;
String[] myRows = new String[3];
for (int i=0; i < 3; i++)
{
item_name = "item" + i;
item_value = request.getParameter(item_name);
if (item_value == null)
{
item_value = "Rent";
}
period_name = "period" + i;
period_value = request.getParameter(period_name);
if (period_value == null)
{
period_value = "52"; //default value
}
periodAmt_name = "periodAmt" + i;
periodAmt_value = request.getParameter(periodAmt_name);
if (periodAmt_value == null)
{
periodAmt_value = "520";
}
myRows[i] = item_value + "|" + period_value + "|" + periodAmt_value;
out.println(myRows[i]);
java.util.Arrays.sort(myRows);
String text = myRows[i];
StringTokenizer st = new StringTokenizer(text, "|");
String[] myFields = new String[st.countTokens()];
out.println("<tr>");
for (int j = 0; j < myFields.length; j++)
{
myFields[j] = st.nextToken();
if(j==0)
{
out.println("<td><input type=text name=" + item_name + " value=" + myFields[j] + "></td>\n");
}
정확한 오류 메시지 (행 번호 ...)를 붙여 넣을 수 있습니까? – Frithjof
루프처럼 매번 sort를 호출하는 것처럼 보이므로 처음에는 2 개의 요소가 null이되므로 NullPointerException이 발생합니다. – Samhain
'java.util.Arrays.sort (myRows); 다음에 오는 행 번호는 무엇입니까? '? –