我一直有问题,从一个.jsp传递参数到另一个。将一些复选框值从一个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是错误的。
我该如何解决这个问题?
对不起,我不熟悉以客户端方式调试Web应用程序,我该怎么做? – Zuazua 2012-04-10 07:44:07