JSP传递值给servlet的方式

我jsp里有显示全部信息的列表。有个单个物品查询 我传到servlet后再传给jsp显示单个信息页面。
比如:
1 姓名 年龄 (查询);点击查询就可以显示单个信息
2 . . . . .
因为ID是自动生成的。所以传递的时候有点麻烦
能不能不用from表单传递给servlet 还有其他的方法么?
我ID可以通过get方法得到。
要是自己写URL
list.action?ID=<%out.print(u.getID());%>的话
servlet如何得到这个路径的url地址呢后面的ID号也不一定是固定的。
我用了个笨的要死的方法弄from action=“list.action”表单ID 提交进去
然后给servlet 判断list.action的话进行一些传递跳转
缺点是ID号页面上都看到了还是输入框的。

  jsp向servlet传值大致有这么几种情况。
  第一种超链接,在href='servletAction?id=xxx'
  第二种form表单提交,当点击submit时,action="servletAction" method='get/post'
  第三种就是利用ajax,url='servletActionz',当然了,这里也有get和post两种情况,get直接在url后面加问号传参,post会把参数放在实体内容里面。
  最后在servlet那边 用 request.getParameter("参数名");就可以拿到了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-06-19
jsp属于前端页面层,Servlet属于逻辑控制层。
jsp传值给servlet,数据发生在request作用域,即HttpRequest对象。例如
String user = request.getparameter("jsp页面中的标签name");//切记这里是name属性,ID是取不到的。
如果是要servlet传值给jsp,就是在HttpResponse作用域。
response.setAttribute("user");
jsp对应取值为:${responseScope.user};本回答被网友采纳
第2个回答  推荐于2017-11-24
一步:为Form设置一个隐藏按钮,传递ID过去!
<input name="uid" type="hidden" value=“<%=u.getID()%>” />
第二步:在servlet中再getParameter uid。追问

那么我servlet如何判断URL地址是list.action?ID=呢,我设置了隐藏可是发现ID传过去servlet却不好判断了。servlet :if(url.equals("/list.action?ID=...............")这个不好添ID的啊。

追答

你这有点混乱了!
注意:
当表单以post方法提交时,你要编写doPost()部分代码;
当表单以get方法提交时,你要编写doGet()部分代码。
--------------
如果用URL list.action?ID=...,在doGet()中判断:
String ID = request.getParameter("ID"); if (ID.equals("...")) {...};
如果在Form中,建议页面用post提交,servlet用doPost()处理,数据更安全:
String ID = request.getParameter("ID"); if (ID.equals("...")) {...};//代码一致

追问

if(url.equals("/list.action")){
String ID=request.getParameter("ID");
request.setAttribute("ID", ID);
request.getRequestDispatcher("listtone.jsp").forward(request,
response);

我自己改好了,有时候tomcat缓存问题,总以为是没取到。
servlet我知道是doget和dopost from表单一般都是post 设置编码和其他的一些方法而已。
不过还是谢谢了。

本回答被提问者采纳
第3个回答  2011-05-23
你这样传的话 后台可以要request接收到呀 String id=request.getParameter("ID") 要form传就是上面那哥们说的 可以弄个隐藏框 把id一起提交到后台 然后可以get到 你这个查询是模糊查询吧? 怎么要传id
第4个回答  2015-09-11
1,给标签一个name然后servlet用request.getparampeter("name")
2,发送请求时传递参数也是可以的(直接传参数,或者json格式的参数)
其他的就不太了解了