任务需求是根据主键查询数据库当中产品的信息,jsp主页中显示所有商品的信息 然后每个商品后面有个checkbox 如果选中了该商品的checkbox按下最下面的提交按钮就要跳转到另一个jsp页面显示其商品名称和其余属性 全部信息都在form表单里面 等于就是提交一个form 数据层里面有一个根据主键查询数据库信息的方法 我就想问下怎么从JSP里面传主键ID的值给action 整个项目整合了ssh action里面没有request对象
我又追加提问了 知道的话就告诉我下 谢谢
追答这种如果是复选的话,最好是用表单提交的方式,就是说把你的产品id保存在checkbox里,选中checkbox然后再action中获取选中的checkbox即可,应该是个数组!
追问那怎么判断我在jsp页面中是否选中了当前的商品呢?
追答不用判断,form中选中的checkbox会被提交到action,而未选中的不会被提交!
当然,如果你想判断的话也可以,用js
var checked=0;
for(var k=0;k<document.operator.elements.length;k++){
if(document.operator.elements[k].type=="checkbox"&&
document.operator.elements[k].checked==true)
{
checked=1;
}
}
这是一个判断checkbox是否有被选中的js代码,operator是form的id,这个是ie上的js代码,别的浏览器可能需要调整!
当然了,这些代码可以对checkbox做一些处理,跟提交没啥关系的!
选购
这是checkbox 看看有没有设置错 price是在action里面实例化的一个实体类 如果是input的话name属性就设置price.id checkbox这样设置对么?
当然不对了!首先后台接收checkbox值的是个数组,所以checkbox的name应该指向ation定义的一个数组中,其次,value是页面上展示的值,这样应该取不到吧!
追问问题解决了 我问老师了 在网上纠结了3个小时的问题30秒就解决了
本回答被提问者采纳关键后面有checkbox要选中以后按提交按钮才跳转 没选中的就不再另一个页面显示
追答选没选中是前台jsp的事情,跟后台接收参数没关系。只要前台参数存在,后台都可以获取到。