1

I have a jsp page GetEmpDetails.jsp and a servlet class ShowEmpDetails.java.

My doubt is when request goes to servlet and servlet class do all validation(at present i did validation only for firstname and last name).if let's say firstname field is left blank then i display a message besides that particular field in jsp(i used forward to forward back to the same GetEmp form). but with that i also want the details entered by the user to stay in that form.. Could you please guide me how i will write the code in servlet as well as jsp page.

My Servlet:

package com.fulcrum.EmpForm;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.sun.xml.internal.ws.developer.MemberSubmissionAddressing.Validation;

public class ShowEmpDetails extends HttpServlet {

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {

        String fname = request.getParameter("fname");
        request.setAttribute("fname", fname);

        String lname = request.getParameter("lname");
        String gender = request.getParameter("gender");
        String age = request.getParameter("age");
        String email = request.getParameter("email");
        String password = request.getParameter("pwd");
        int date = Integer.parseInt(request.getParameter("date"));
        int month = Integer.parseInt(request.getParameter("month"));
        int year = Integer.parseInt(request.getParameter("year"));

        if (fname == "") {

            String message1 = "OOps!!! required field fname";
            request.setAttribute("message1", message1);

            // get back to login.jsp page using forward

        }
        if (lname == "") {
            String message2 = "OOps!!! required field lname";
            request.setAttribute("message2", message2);

        }
        request.getRequestDispatcher("/GetEmpDetails.jsp").forward(request,
                response);

        return;

    }

    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {

    }

}

My Jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Employee Form</title>

</head>
<body bgcolor="turquoise">
    <h1>Employee Details Form</h1>

    <!-- action send the form data to servlet named 'ShowEmpDetails'. -->
    <form name="empDetails" action="ShowEmpDetails">

        First Name:<input type="text" name="fname">

        <%
            if (request.getAttribute("message1") == null) {

                out.println("");
            } else {

                out.println(request.getAttribute("message1"));

            }
        %><br> <br> Last Name:<input type="text" name="lname">
        <%
            if (request.getAttribute("message2") == null) {

                out.println("");
            } else {

                out.println(request.getAttribute("message2"));
                out.println(request.getAttribute("fname"));

            }
        %><br> <br> Email:<input type="text" name="email"><br>
        <br> password: <input type="password" name="pwd"><br>
        <br> Age:<input type="text" name="age"><br> <br>


        <!--
            'select-option' to create a combo-box named Date.
         -->
        Date of birth: &nbsp; Date: <select name="date">
            <option value="1">1</option>
            <option value="2">2
            <option value="3">3
            <option value="4">4
            <option value="5">5
            <option value="6">6
            <option value="7">7
            <option value="8">8
            <option value="9">9
            <option value="10">10
            <option value="11">11
            <option value="12">12
            <option value="13">13
            <option value="14">14
            <option value="15">15
            <option value="16">16
            <option value="17">17
            <option value="18">18
            <option value="19">19
            <option value="20">20
            <option value="21">21
            <option value="22">22
            <option value="23">23
            <option value="24">24
            <option value="25">25
            <option value="26">26
            <option value="27">27
            <option value="28">28
            <option value="29">29
            <option value="30">30
            <option value="31">31
        </select>

        <!-- 'select-option' to create a combo-box named month.
         -->
        Month: <select name="month">
            <option value="1">January
            <option value="2">February
            <option value="3">March
            <option value="4">April
            <option value="5">May
            <option value="6">June
            <option value="7">July
            <option value="8">August
            <option value="9">September
            <option value="10">October
            <option value="11">November
            <option value="12">December
        </select>

        <!-- 'select-option' to create a combo-box named month.
         -->
        Year: <select name="year">

            <option value="2012">2012</option>
            <option value="2011">2011</option>
            <option value="2010">2010</option>
            <option value="2009">2009</option>
            <option value="2008">2008</option>
            <option value="2007">2007</option>
            <option value="2006">2006</option>
            <option value="2005">2005</option>
            <option value="2004">2004</option>
            <option value="2003">2003</option>
            <option value="2002">2002</option>
            <option value="2001">2001</option>
            <option value="2000">2000</option>
            <option value="1999">1999</option>
            <option value="1998">1998</option>
            <option value="1997">1997</option>
            <option value="1996">1996</option>
            <option value="1995">1995</option>
            <option value="1994">1994</option>
            <option value="1993">1993</option>
            <option value="1992">1992</option>
            <option value="1991">1991</option>
            <option value="1990">1990</option>
            <option value="1989">1989</option>
            <option value="1988">1988</option>
            <option value="1987">1987</option>
            <option value="1986">1986</option>
            <option value="1985">1985</option>
            <option value="1984">1984</option>
            <option value="1983">1983</option>
            <option value="1982">1982</option>
            <option value="1981">1981</option>
            <option value="1980">1980</option>
            <option value="1979">1979</option>
            <option value="1978">1978</option>
            <option value="1977">1977</option>
            <option value="1976">1976</option>
            <option value="1975">1975</option>
            <option value="1974">1974</option>
            <option value="1973">1973</option>
            <option value="1972">1972</option>
            <option value="1971">1971</option>
            <option value="1970">1970</option>
            <option value="1969">1969</option>
            <option value="1968">1968</option>
            <option value="1967">1967</option>
            <option value="1966">1966</option>
            <option value="1965">1965</option>
            <option value="1964">1964</option>
            <option value="1963">1963</option>
            <option value="1962">1962</option>
            <option value="1961">1961</option>
            <option value="1960">1960</option>
            <option value="1959">1959</option>
            <option value="1958">1958</option>
            <option value="1957">1957</option>
            <option value="1956">1956</option>
            <option value="1955">1955</option>
            <option value="1954">1954</option>
            <option value="1953">1953</option>
            <option value="1952">1952</option>
            <option value="1951">1951</option>
            <option value="1950">1950</option>
            <option value="1949">1949</option>
            <option value="1948">1948</option>
            <option value="1947">1947</option>
            <option value="1946">1946</option>
            <option value="1945">1945</option>
            <option value="1944">1944</option>
            <option value="1943">1943</option>
            <option value="1942">1942</option>
            <option value="1941">1941</option>
            <option value="1940">1940</option>
            <option value="1939">1939</option>
            <option value="1938">1938</option>
            <option value="1937">1937</option>
            <option value="1936">1936</option>
            <option value="1935">1935</option>
            <option value="1934">1934</option>
            <option value="1933">1933</option>
            <option value="1932">1932</option>
            <option value="1931">1931</option>
            <option value="1930">1930</option>
            <option value="1929">1929</option>
            <option value="1928">1928</option>
            <option value="1927">1927</option>
            <option value="1926">1926</option>
            <option value="1925">1925</option>
            <option value="1924">1924</option>
            <option value="1923">1923</option>
            <option value="1922">1922</option>
            <option value="1921">1921</option>
            <option value="1920">1920</option>
            <option value="1919">1919</option>
            <option value="1918">1918</option>
            <option value="1917">1917</option>
            <option value="1916">1916</option>
            <option value="1915">1915</option>
            <option value="1914">1914</option>
            <option value="1913">1913</option>
            <option value="1912">1912</option>
            <option value="1911">1911</option>
            <option value="1910">1910</option>
            <option value="1909">1909</option>
            <option value="1908">1908</option>
            <option value="1907">1907</option>
            <option value="1906">1906</option>
            <option value="1905">1905</option>
            <option value="1904">1904</option>
            <option value="1903">1903</option>
            <option value="1902">1902</option>
            <option value="1901">1901</option>
        </select><br> <br>
        <!-- 
        <input type="radio"> defines a radio..radio button lets a user 
        select only one at a time.
         -->
        Gender: &nbsp; <input type="radio" name="gender" value="male">Male
        <input type="radio" name="gender" value="female">Female <br>

        <!-- 
        <input type="checkbox"> defines a radio..radio button lets a user 
        select only one at a time.
         -->
        Hobbies: &nbsp; <input type="checkbox" name="Hobbies" value="Dance">Dancing
        <input type="checkbox" name="Hobbies" value="Reading">Reading
        <input type="checkbox" name="Hobbies" value="Singing">Singing
        <input type="checkbox" name="Hobbies" value="Programing">Programming
        <input type="checkbox" name="Hobbies" value="Sleeping">Sleeping

        <br> <br> About Me: <br>

        <!--
The <textarea> tag defines a multi-line text input control. 
 -->
        <textarea rows="4" cols="50" name="aboutMe">
</textarea>
        <br> <br> <input type="submit" value="Submit"> <input
            type="reset" value="Reset">






    </form>



</body>
</html>
Gaurav Manral
  • 600
  • 4
  • 7
  • 24
user2412380
  • 21
  • 3
  • 10

1 Answers1

0

you have setAttrribute for the messsage for both first name and last name so that that attribute can be obtain by the method request.getAttribut("","") and you want to display that entered value then you should use same which you have used in servlet that is request.getParameter("fname")

shreyansh jogi
  • 2,082
  • 12
  • 20