java:转发后保留表单中的值

标签 java

我有一个jsp页面GetEmpDetails.jsp和一个 servlet 类 ShowEmpDetails.java .

我的疑问是,当请求发送到 servlet 时,servlet 类会执行所有操作 验证(at present i did validation only for firstname and last name)。如果我们说firstname字段留空,然后我在 jsp 中除了该特定字段之外显示一条消息(我使用 forward 转发回相同的 GetEmp 表单)。但我也希望用户输入的详细信息保留在该表单中。 您能指导我如何在 servlet 和 jsp 页面中编写代码吗?

我的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 {

    }

}

我的 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>

最佳答案

您已为名字和姓氏的消息设置了 setAttrribute,以便可以通过方法 request.getAttribut("","") 获取该属性,并且您希望显示输入的内容那么您应该使用与 servlet 中使用的相同的值,即 request.getParameter("fname")

关于java:转发后保留表单中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17102336/

相关文章:

java - Android 位图变为空

java - 在二维数组的末尾添加新列

java - BeanToPropertyValueTransformer 和 commons-collections4

java - 如果没有使用@Path 变量注释,CXF 如何处理 API?

java - 是否有正当理由在 java 中将错误的 boolean 值编码为 "Boolean.FALSE"?

java - 如何确定 Java 程序在 Linux 服务器上是否失败?

Java断言自动化测试中没有两个元素是相同的

java - java中对String[]数组列表进行排序

java - 如何从双向链表中提取值?

java - 变量可以在引用交换时被访问吗?