java – 将映射或对象从jsp传递到servlet
发布时间:2020-12-15 08:50:18 所属栏目:Java 来源:网络整理
导读:我有一个应用程序将映射从servlet传递给jsp.在jsp中,我显示地图并提供删除或编辑地图值的选项.但是,在更改值之后,如何将地图发送回另一个servlet,在那里它接收地图. 假设,我有一个服务“servletA”,它将地图传递给jsp,如下所示: public int Id=22222;MapStr
我有一个应用程序将映射从servlet传递给jsp.在jsp中,我显示地图并提供删除或编辑地图值的选项.但是,在更改值之后,如何将地图发送回另一个servlet,在那里它接收地图.
假设,我有一个服务“servletA”,它将地图传递给jsp,如下所示: public int Id=22222; Map<String,String> configParamsMap=new HashMap<String,String>(size); configParamsMap.put("1","arg1"); configParamsMap.put("2","arg2"); configParamsMap.put("3","arg3"); configParamsMap.put("4","arg4"); // System.out.println("parameters passing to the jsp:: appId"+appId+"::configId"+configId); request.setAttribute("configParamsMap",configParamsMap); request.setAttribute("Id",Id); RequestDispatcher rd = request.getRequestDispatcher("/JSP/display.jsp"); rd.forward(request,response); 在jsp中,我可以删除或编辑值.我正在做删除如下并传递参数 <c:forEach var="configParams" items="${configParamsMap}"> <!-- KEY: ${configParams.key} - VALUE: ${configParams.value} --> <tr> <td> <c:out value="${configParams.key}" /> </td> <td><input type="text" name="" value="${configParams.value}" /></td> </tr> </c:forEach> </table> <form action="sevletB?action=Delete" method="post"><input type="submit" value="Delete"></input> <input type="hidden" name="Id" value="${Id}"></input> </form> 我的问题是如何将映射传递回另一个servlet“servletB”,就像我对参数“id”所做的那样.该映射应该是用户已经编辑了一些值的映射,即jsp中映射的当前状态. 解决方法
在表单标记内写下您的所有代码.
使用此代码: <c:forEach var="configParams" items="${configParamsMap}" varStatus="itemsRow"> <tr> <td> <c:out value="${configParams.key}" /> </td> <td><input type="text" name="" value="${configParams.value}" /></td> </tr> </c:forEach> 使用包含${configParams.key}值的隐藏字段.使用循环迭代器${itemsRow.index}来创建可分辨的参数名称 < input type =“text”name =“configParam.${itemsRow.index}”value =“${configParams.value}”/> 当提交表单时,您可以通过在getParameter(”)方法中给出名称来从请求中访问所有这些值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |