を提出するためにJavaScriptを使用して学校システムでは、学生の名前、年、学年をウェブページに入力し、学生の情報を保存してリストを作成することができます。JSP:私は記述しようとしています</p> <p>(私が質問を知って少し長いですが、私は解決策は簡単であると考えていますので、誰かが私を見て助けることができる場合は、それを本当に感謝)フォーム
1つの生徒情報を入力したら、これをクリックして情報を保存し、ウェブページを更新して次のページに移ります学生情報
2番目は「保存して終了」です。つまり、入力したい最終生徒の場合はこれをクリックし、最後の生徒情報が保存され、次のページにリダイレクトされ、すべての生徒のリストが表示されます情報
はこれを実現するために、JSPで、私は2つのHTMLフォームを使用し、そのうちの一つは、私は、サーブレットに提出しようとするためにJavaScriptを使用し、しかし、それが正常に動作しないので、私は何か間違ったことを行っている必要があります。ここでは私のコードは次のとおりです。
InputGrade.jsp:
<html>
<head>
<title>Title</title>
</head>
<body>
最初の形式:ユーザーが情報を入力するために使用される入力ラベル、また、使用する入力ラベルは、送信ボタンを作成するには、「次のそれを保存」:
<form action = "InputGradeServlet" method="POST">
<table>
<tr>
<td>
Enter Student Name: <input type="text" id="stName" name = "stName" />
</td>
<td>
Enter Subject: <input type="text" id="Subject" name = "Subject" />
</td>
<td>
Enter Grade: <input type = "text" id="Grade" name = "Grade" />
</td>
<td>
<input type="submit" value="save and next"/>
</td>
</tr>
</table>
<input type="text" name = "flag" style="display: none" value="1"/>
</form>
第二の形式「保存して終了」ボタンが含まれていますが、情報を提出するためにJavaScriptを使用します(私は、問題がどこにあるかと思います)
ユーザーはまだ最初の形式で学生の情報を入力しますが、 JavaScript関数の使用は、最初の形式
<form name="form2" action ="InputGradeServlet" method="POST" >
<input type="text" name = "flag" style="display: none" value="2"/>
<button onclick="finSaveFunc()">Finish and submit</button>
<script>
function finSaveFunc() {
var stName = document.getElementById("stName")
var Subject = document.getElementById("Subject")
var Grade = document.getElementById("Grade")
document.stName.submit();
document.Subject.submit();
document.Grade.submit();
}
</script>
でサーブレット、ユーザーが
に入った生徒を追加するために作成したリスト内の情報を取得する機能をgetElementByIdを「保存して次へ」ボタンを押してフォームを送信し、サーブレットが学生をリストに保存して同じJSPファイルにリダイレクトする操作を行うと、同じWebページが次の学生に再度リダイレクトされます。第二の形式、およびサーブレットを提出(も問題かもしれません)
if (request.getParameter("flag").equals("1")) {
request.getParameter("Grade");
...... (get other info: name, year ect)
inputStList.add(findstudent); //add student entered to the list
response.sendRedirect("InputGrade.jsp");
}
}
}
ユーザーを押して、「保存して終了」の場合、すなわち、再びリストに入力され、最終的な学生を追加し、全体を示す次のWebページにリダイレクトしますリスト:
}else if (request.getParameter("flag").equals("2")) {
request.getParameter("Grade");
....
inputStList.add(findstudent);
request.getSession().setAttribute("inputStList",inputStList);
response.sendRedirect("ShowList.jsp"); }
これは問題になる場所です:最初のフォームを送信すると「保存して次へ」ボタンがうまくいきますが、「保存して終了」ボタンを押して2番目のフォームを送信するとエラーが返されます。
だから、もし私が見て助けることができれば本当にありがとう?
何のエラーがやったことは示して? –
NullPointerExceptionが表示されます –
あなたは受け入れボタンを押して私の答えを受け入れませんでした。 –