【问题标题】:JSP - Update texarea on button clickJSP - 单击按钮时更新文本区域
【发布时间】:2017-10-12 08:46:04
【问题描述】:

我正在使用 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,这给了我一个空白页面。

【问题讨论】:

    标签: java jsp servlets


    【解决方案1】:

    使用这个

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

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

    【讨论】:

      【解决方案2】:

      如下更改您的 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);

      【讨论】:

      • &lt;form action="MyServlet" method="POST"&gt;移动到textarea div上方
      • 当我点击按钮时,它会将页面重定向到 localhost/myservlet 并显示一个空指针,因为它再也找不到文本框了。
      • 值是空指针吗?更多调试信息可能会有所帮助。
      • 是的,我的价值是空的,我的错。但是,现在它只是打开一个空的 servlet,而不是在我的文本框中设置一个值。
      • @The Donger 可能需要向 jsp 发送请求
      猜你喜欢
      • 2014-06-20
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      相关资源
      最近更新 更多