我在将参数从一个 .jsp 传递到另一个时遇到问题。
我有两个 .jsp(1 和 2)。在 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);
}
%>
当我尝试访问时,request.getParameter("amount")
我得到了一个java.lang.NumberFormatException: null
,所以我认为我的 Javascript/jQuery 是错误的。
我该如何解决这个问题?