JSP - 按下按钮更新texarea

时间:2017-10-12 08:46:04

标签: java jsp servlets

我正在使用Tomcat和Maven构建JSP webapp。 我想在点击同一个jsp页面上的按钮时更新jsp页面中textarea的值。

在我的XMLProcessor类中,我有一个名为returnNextMessage()的函数,它返回一串数据。

我的jsp:

<%@ page import="efidbg.XMLProcessor"%>
<html>
<head>
<title>Home</title>
</head>
<body>
  <div id="base" class="">

    <!-- Textbox that i want to fill using java function. -->
    <div id="u1" class="ax_default text_area">
      <textarea id="u1_input"></textarea>
    </div>

<!-- Button when clicked call returnNextMessage() function -->
    <div id="u9" class="ax_default primary_button">
  <form action="MyServlet" method="POST">
    <input
      type="submit" value="Submit" />
  </form>
    </div>
  </div>
</body>
</html>

我尝试使用名为MyServlet的servlet实现它,但这似乎将我重定向到一个新页面,这让我觉得使用servlet并不是实现这一目的的正确方法。

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String Value = XMLProcessor.returnNextMessage();
    request.setAttribute("u1_input", Value);
}

当我按下提交按钮时,我只是被重定向到Localhost / MyServlet,这给了我一个空页面。

2 个答案:

答案 0 :(得分:2)

使用此

<textarea id="u1_input" value="${u1_input}"></textarea>

jsp引擎会将$ {u1_input}替换为其值。

答案 1 :(得分:1)

更改您的JSP文件,如下所示:

<%@ page import="efidbg.XMLProcessor"%>
<html>
<head>
<title>Home</title>
</head>
<body>
  <div id="base" class="">
<!-- Button when clicked call returnNextMessage() function -->
    <div id="u9" class="ax_default primary_button">
  <form action="MyServlet" method="POST">
    <!-- Textbox that i want to fill using java function. -->
    <div id="u1" class="ax_default text_area">
      <textarea id="u1_input">${u1_input}</textarea>
    </div>
    <input
      type="submit" value="Submit" />
  </form>
    </div>
  </div>
</body>
</html>

在设置属性后,在java方法中添加代码。

request.getRequestDispatcher("/xxx.jsp").forward(request, response);