jsp处理c for循环中取到每一条信息+get方式提交form表单参数拼接问题

来源:互联网 发布:谷歌编程面试问题 编辑:程序博客网 时间:2024/06/08 00:29

效果如下:

点击发送拿到userID和输入框内容,

表单get提交的方式action是不允许拼接的,get请求后会自动把输入框的内容拼接到地址栏而忽略你的action拼接。

所以表单get提交只能传递一个参数,如果想实现传递多个参数,例如:

input框中输入的内容+所点击用户的ID,

那就需要用隐藏input的形式传递:

<input type="hidden" name = "flag" value = "${b.getrNo()}"><input type="text" id = "talk_input" name = "talk_input"><input type="submit" value="发送"></td>
点击发送就会把两个input值传过去:xxxx?talk_input=“输入框中的值”&flag=“点击的userID”

具体代码如下:

JSP:

<c:forEach items="${requestScope.list}" var="b" varStatus = "i"><form action="sendMessageServlet" method="get">  <tr align="center" bgcolor="white">   <td>${b.getrName()}</td><td>${b.getRsex()}</td><td>${b.getRage()}</td><td>${b.getXz()}</td><td>${b.getXx()}</td><td>${b.getComment()}</td><td><input type="text" id = "talk_input" name = "talk_input"> <input type="hidden" name = "flag" value = "${b.getrNo()}"><input type="submit" value="发送"></td></tr></form></c:forEach>

servet:


                                        String text = req.getParameter("talk_input");//获取表单中属性值text =new String(text.getBytes("iso8859-1"),"UTF-8");//解决get方法乱码问题。//String c_name = req.getParameter("c_name");String toUser = req.getParameter("flag");System.out.println(text);HttpSession session=req.getSession();//返回与当前request相关联的session,如果没有则在服务器端创建一个;String fromUser = (String) session.getAttribute("RNO");System.out.println(toUser+fromUser+text);