我目前正在编写程序的一部分,其中结果显示在页面上(取自表单),用户可以在单击按钮并将数据发送出去进行处理之前再次进行检查。唯一的问题是我无法在ResultsServlet和ResultsProcessorServlet之间发送数据。我将放置一些代码来尝试解释:
public class ResultServlet extends HttpServlet {
// User inputted data which has been taken from the form over POST
String jobNumber;
String projects;
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
... //Some initial processing of form data.
resp.setContentType("text/html");
resp.setStatus(HttpServletResponse.SC_OK);
PrintWriter out = resp.getWriter();
//Display the data on screen with some html and a button to confirm
out.println(...);
}
}
一旦用户对数据感到满意,其想法是他们可以按下一个按钮,该按钮会将数据发送到下面的下一个servlet:
public class ProcessorServlet extends HttpServlet {
String jobNumber;
List<String> projects;
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//Do stuff with the data
...
}
}
在标准情况下,我意识到我可以只使用req.setAttribute()和req.getAttribute()在servlet之间重定向数据。唯一的问题是,我只想在用户按下“确认”按钮后执行此操作。我只是在将所有内容链接在一起时遇到麻烦,所以任何帮助都将是很好的。还可能值得注意,我正在使用j2html包生成html。
干杯。
您必须在web.xml中声明您的servlet,并根据需要添加servlet映射。示例如下
<servlet>
<servlet-name>ProcessorServlet </servlet-name>
<servlet-class>com.test.ProcessorServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ProcessorServlet</servlet-name>
<url-pattern>/ProcessForm</url-pattern>
</servlet-mapping>