0

我在 JSP/servlet 应用程序中有一个“multipart/form-data”表单。此应用程序在 Apache tomcat 6.31 上加载。

我想知道的是我们可以将新数据添加到 servlet 中收到的表单对象吗?如果是,那怎么办?

就像是:

  1. JSP 页面有一个必须上传文件的表单。
  2. 提交表单并在 servlet 中接收到数据后,我们需要向其添加用户 ID 和密码,我们无法在 UI 层中公开这些用户名和密码。然后使用新数据将该表单重新提交到另一个 JSP/Servlet
4

2 回答 2

0

我会这样做:

  1. Servlet 1 将收到多部分请求。
  2. 我会装饰在 servlet 1 中收到的HTTPServletRequestusingHttpServletRequestWrapper并在请求上调用“getParameter”时返回用户和密码。(请参阅this以查看使用的示例装饰器HttpServletRequestHttpServletRequestWrapper
  3. RequestDispatcher.forward(decoratedRequest, response) 到将处理数据的 JSP/Servlet。

我想知道的是我们可以将新数据添加到 servlet 中收到的表单对象吗?

要回答这个问题,您通常可以拥有其他表单控件,如文本框、单选框、复选框等,以及某种形式的FILE控件multipart/form-data,以防万一您还没有意识到这一点。

于 2012-09-25T07:47:49.103 回答
0

如果我正确理解您的要求,

您想在请求对象到达 servlet 后向它添加更多参数。

你可以这样做,

request.setAttribute("userId", "xyz");
request.setAttribute("password", "abc");
request.getRequestDispatcher("Path where you want to forward").forward(request, response);

您可以在结果页面访问相同的属性。

于 2012-09-25T08:19:24.213 回答