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