我有一个将映射从 servlet 传递到 jsp 的应用程序。在 jsp 中,我显示地图并提供删除或编辑地图值的选项。但是,在更改值后,如何将地图发送回另一个 servlet,在那里它接收地图。
假设,我有一个servet“servletA”,它将映射传递给jsp,如下所示:
public int Id=11111;
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 中地图的当前状态。