【问题标题】:Adding data to "multipart/data-form" object将数据添加到“multipart/data-form”对象
【发布时间】:2012-09-25 07:42:45
【问题描述】:

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

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

类似:

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

【问题讨论】:

    标签: jsp servlets


    【解决方案1】:

    我会这样做:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      你可以这样做,

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-24
        • 2017-01-12
        • 1970-01-01
        • 2018-12-01
        • 1970-01-01
        • 2018-12-31
        • 2021-11-03
        相关资源
        最近更新 更多