All Together Now
At this point,
you have seen
the two mechanisms needed to let multiple pages process the same
request: passing control and passing data. These mechanisms allow you
to employ the MVC design, using one page for request processing and
business logic, and another for presentation. The
<jsp:forward>
action can pass control between the pages, and information placed in
the request scope is available to all pages processing the same
request.
Let’s apply this to the User Info example. In Chapter 8, different output was produced depending on whether or not the user input was valid. If the input was invalid, error messages were added to inform the user of the problem. Even when the input was valid, however, the form—without error messages, of course—was displayed.
No more of that. When we split the different aspects of the application into separate JSP pages as shown in Figure 10-1, we also change the example so that the form is only shown when something needs to be corrected. When all input is valid, a confirmation page is shown instead.
Example 10-1 shows the top part of the userinfoinput.jsp page.
<%@ page contentType="text/html" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>User Info Entry Form</title> </head> <body bgcolor="white"> <jsp:useBean id="userInfo" scope="request" class="com.ora.jsp.beans.userinfo.UserInfoBean" /> <form action="userinfovalidate.jsp" method="post"> ...
Get JavaServer Pages, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.