我是JSP的初学者。我正在做一个项目,因为我必须将视图部分分开,即来自out.println
代码的Servlet
语句。我该怎么做?请建议。
这是控制器servlet,请求将通过 index.jsp 页面传递。
request.setAttribute("ival", n);
RequestDispatcher rd = request.getRequestDispatcher("ControllerServlet");
rd.forward(request, response);`enter code here`
我的 ControllerServlet.java :
public class ControllerServlet extends HttpServlet {
private String temp = null;
private int k;
public String gettemp() {
return temp;
}
public void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
k=(Integer)request.getAttribute("ival"); // value is coming from index.jsp page
try {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ControllerServlet</title>");
out.println("</head>");
out.println("<body>");
switch (k) {
case 1:
temp = "Monday";
break;
case 2:
temp = "tuesday";
break;
case 3:
temp = "Wednesday";
break;
case 4:
temp = "thrusday";
break;
case 5:
temp = "friday";
break;
case 6:
temp = "saturday";
break;
case 7:
temp = "sunday";
break;
}
/*
out.println(temp);
out.println("value of n is ="+ k);
out.println("<a href =\"index.jsp\">next </a>");
*/
request.setAttribute("temp", temp);
RequestDispatcher rd = request.getRequestDispatcher("SucessView.jsp");
rd.forward(request, response);
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
在上面的代码中,我想通过单独的JSP页面“SuccessView.jsp”执行此操作:
out.println(temp);
out.println("value of n is ="+ k);
out.println("<a href =\"index.jsp\">next </a>");
请建议如何执行此操作?
为此,我已经这样做了,但这不起作用。
请建议另一种获取临时值的方法。
答案 0 :(得分:1)
您的servlet不应包含HTML代码。
视图在JSP中完成。
提交表单时,将其发送给servlet。完成表单数据处理后,它将再次返回JSP页面以显示结果。
<html>
<head>
</head>
<body>
<form action="/MyServlet" method="post">
<input type="text" name="myName">
<input type="submit">
</form>
</body>
</html>
然后在您的servlet“MySerlet”中,您可以从表单中删除名称或任何其他字段,并根据需要执行业务逻辑(和数据库插入/更新/删除)。
在servlet结束时,使用response.sendRedirect("/myThanksPage.jsp");
重定向到感谢页面。