<%-- Instantiate the form validation bean and supply the error message map --%>
<%@ page import="com.mycompany.*" %>
<jsp:useBean id="form" class="com.mycompany.MyForm" scope="request">
    <jsp:setProperty name="form" property="errorMessages" value='<%= errorMap %>'/>

    // If process is true, attempt to validate and process the form
    if ("true".equals(request.getParameter("process"))) {
        <jsp:setProperty name="form" property="*" />
        // Attempt to process the form
        if (form.process()) {
            // Go to success page

<head><title>A Simple Form</title></head>

<%-- When submitting the form, resubmit to this page --%>
<form action='<%= request.getRequestURI() %>' method="POST">
    <%-- email --%>
    <font color=red><%= form.getErrorMessage("email") %></font><br>
    Email: <input type="TEXT" name="email" value='<%= form.getEmail() %>'>

    <%-- zipcode --%>
    <font color=red><%= form.getErrorMessage("zipcode") %></font><br>
    Zipcode: <input type="TEXT" name="zipcode" value='<%= form.getZipcode() %>'>

    <input type="SUBMIT" value="OK">
    <input type="HIDDEN" name="process" value="true">


    // Define error messages
    java.util.Map errorMap = new java.util.HashMap();
    public void jspInit() {
        errorMap.put(MyForm.ERR_EMAIL_ENTER, "Please enter an email address");
        errorMap.put(MyForm.ERR_EMAIL_INVALID, "The email address is not valid");
        errorMap.put(MyForm.ERR_ZIPCODE_ENTER, "Please enter a zipcode");
        errorMap.put(MyForm.ERR_ZIPCODE_INVALID, "The zipcode must be 5 digits");
        errorMap.put(MyForm.ERR_ZIPCODE_NUM_ONLY, "The zipcode must contain only digits");

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.