我是 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>");
请建议如何执行此操作?
为此,我已经这样做了,但这不起作用。
请建议另一种获取临时值的方法。