您的位置:首页 > Web前端 > JavaScript

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

2017-05-18 11:08 696 查看
效果如下:



点击发送拿到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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐