在jsp页面中把参数传递到action

任务需求是根据主键查询数据库当中产品的信息,jsp主页中显示所有商品的信息 然后每个商品后面有个checkbox 如果选中了该商品的checkbox按下最下面的提交按钮就要跳转到另一个jsp页面显示其商品名称和其余属性 全部信息都在form表单里面 等于就是提交一个form 数据层里面有一个根据主键查询数据库信息的方法 我就想问下怎么从JSP里面传主键ID的值给action 整个项目整合了ssh action里面没有request对象

方式1: jsp页面的参数可以通过form表单提交到action,需要一个在服务器上根目录建立ActionJAVA类并设置Servlet,并且在服务器端Webapps目录下建立jsp页面,页面核心内容如下:
<form action="AddAction.action" method="post">

<input type="text" name="name" />

<input type="password" name="pwd" />

<input type="submit" value="提交"/>

提交一个用户名,密码

Action:内容如下
@WebServlet("\AddAction.action")

public class Eg01 extends HttpServlet {

public void doPost(HttpServletRequest req, HttpServletResponse resp ) {

String name = req.getParameter("name"); //name即为从页面获得的参数

String pwd = req.getParameter("pwd"); //pwd即为从页面获得的参数
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-26
通过url?name=a&age=b 这种方式,或者通过表单提交方式!追问

我又追加提问了 知道的话就告诉我下 谢谢

追答

这种如果是复选的话,最好是用表单提交的方式,就是说把你的产品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秒就解决了

本回答被提问者采纳
第2个回答  2011-09-26
有2方式:
1,在url后面用?key=value;
2,用form提交,页面的参数在标签中有name属性,如:<input type='text' name='key' value='value'/>
action中获取:request.getParameter("key")追问

关键后面有checkbox要选中以后按提交按钮才跳转 没选中的就不再另一个页面显示

追答

选没选中是前台jsp的事情,跟后台接收参数没关系。只要前台参数存在,后台都可以获取到。

第3个回答  2011-09-26
比如第一个jsp页面是登陆页面,action是验证用户名和密码判断能否登陆成功,第下面的是用JSP页面写的 你可以把它复制到 编程软件里看下
相似回答