【问题标题】:Passing value from servlet to html [duplicate]将值从 servlet 传递到 html [重复]
【发布时间】:2012-05-22 14:54:55
【问题描述】:

我有一个 servlet,它处理来自网络的一些内容并生成一个字符串值。我需要在表格标签内的 html 页面中显示此字符串值。

如何使用 setAttribute 方法和 getrequestdispatcher 方法从 servlet 传递这个字符串值?

谢谢 阿布舍克S

【问题讨论】:

    标签: java html jakarta-ee servlets


    【解决方案1】:

    您可以使用请求转发并将数据设置为请求中的属性,然后在 JSP 上渲染这些数据以生成 HTML

    ,您可以将数据从 servlet 传递到 JSP(不是 HTML)

    【讨论】:

      【解决方案2】:

      在您的Servlet 中,将数据设置为request 中的属性:

      RequestDispatcher dispatcher = request.getRequestDispatcher("yourJspPage.jsp");
      request.setAttribute("Name", "Temp"); // set your String value in the attribute
      dispatcher.forward( request, response );
      

      在您的jsp 页面中,访问request 属性,如下所示:

      <table>
          <tr>
              <td><%=request.getAttribute("Name")%></td>
          </tr>
      </table>
      

      希望这会有所帮助!

      【讨论】:

        【解决方案3】:

        首先创建一个PrintWriter 对象,它将在 HTML 页面上生成输出。
        这里response 是来自doGetdoPost 方法的HttpServletResponse 对象。

        response.setContentType("text/html");  
        PrintWriter out = response.getWriter();  
        out.println("<html-code>")
        

        如果你想使用表格标签,那么你可以这样做

        out.println("<html><body><table>...your code...</table></body></html>");
        

        结果将显示在 HTML 页面上。

        【讨论】:

          【解决方案4】:

          假设您使用 jquery 从 html 发送 ajax get 请求。 这是在 html 脚本中

          $.get('HelloServlet', {a:'abc',b:'abc'}, function (data) {  
             alert(data);  
          });
          

          Servlet 中的这段代码

          String str = "abc";
          PrintWriter out = response.getWriter();  
          out.write(str);
          

          当您的 servlet 成功执行时,您会在警报“数据”变量中获得“str”变量值。

          【讨论】:

            【解决方案5】:

            您可以通过将 servlet 值作为 HTML-JavaScript-content 传递,然后在脚本标记中访问该内容来做到这一点。

            你可以试试这个:在Servlet方法中

            PrintWriter out = response.getWriter(); out.print("var xyz = 20;");

            在 HTML 页面中 内部脚本标签:

            var abc = xyz;

            但是您必须在 HTML 页面中执行 servlet。 在 tomcat 中,如果您有 servlet 映射,只需键入:

            "

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-11-20
              • 1970-01-01
              • 2011-05-28
              • 2014-04-17
              • 2013-11-25
              相关资源
              最近更新 更多