ある .jsp から別の .jsp にパラメーターを渡す際に問題が発生しました。
2 つの .jsp (1 と 2) があります。1 では、データベースからいくつかのデータを取得し、ユーザーに一連のチェックボックスを表示します (以前に取得したデータによって異なります)。ユーザーは 1 つ以上のチェックボックスをオンにする必要があります。選択したものは 2 でデータベースから削除されます (「削除する番号を選択してください」のようなものです)。
選択したチェックボックスと値を 1 から 2 に渡す方法がわかりません。javascript/jQuery を試してみて、チェックボックスがオンになっているかどうかとその値を知り、値を非表示フィールドに追加して、 2 手に入れる。
1.jsp
<%
HttpSession sesion = request.getSession();
Company company = (Company) sesion.getAttribute("company");
List<Phone> phones = company.getTelefonos();
%>
<form id="formulario" method="POST" action="desMul_Final.jsp">
<fieldset>
<legend>Numbers</legend>
<%
Iterator<Phone> it1 = phones.iterator();
while(it1.hasNext()){
Phone t = it1.next();
String number = t.getNumero();
%>
<p>
<input name=check id="t_<%=number%>" type=checkbox value="<%=number%>" /> <%=number%>.
</p>
<%
}
%>
</fieldset>
<p class="buttons">
<button type=submit onclick="javascript: pick();">Continue</button>
</p>
</form>
JavaScript/jQuery
function pick(){
var counter = 0;
$("#formulario fieldset p").each(function(index){
var field;
$(this).children("input").each(function() {
if($this.is(':checked')){
field = $(this).val();
}
});
index = index + 1;
texto = "<input type=hidden name=phone_"+index+" value="+field+" />";
$("#formulario").append(texto);
counter = index;
});
cant = "<input type=hidden name=amount id=amount value="+counter+" />";
$("#formulario").append(cant);
}
2.jsp (ここでは、情報があるかどうかだけを知りたい)
<%
int amount = Integer.valueOf(request.getParameter("amount"));
System.out.println(amount);
for(int i = 1; i <= amount; i++){
String s = request.getParameter("phone_"+i);
System.out.println(s);
}
%>
アクセスしようとすると、Javascript/jQuery が間違っrequest.getParameter("amount")
てjava.lang.NumberFormatException: null
いると思います。
どうすればこれを解決できますか?.