错误提交后以表单保存数据(JSP/Java)

错误提交后以表单保存数据(JSP/Java),java,eclipse,jsp,Java,Eclipse,Jsp,如何防止jsp表单重置?我有一个将数据传递给servlet的jsp表单。如果用户在未填写所有字段的情况下按“提交”,则会显示一条错误消息,邀请用户填写表单的所有字段。问题在于,当出现错误消息时,用户在表单中输入的数据将被清除。如何确保保存此数据,并且用户不必再次重写所有内容 我的意思是,它必须是一种允许我保持表单填写的方法,因为它必须工作,即使,例如,所有字段都已填写,并且电子邮件字段没有@符号 这是我的jsp: 新康塔托酒店 Id: 名称: Cognome: 安妮: Sesso: 英迪里佐:

如何防止jsp表单重置?我有一个将数据传递给servlet的jsp表单。如果用户在未填写所有字段的情况下按“提交”,则会显示一条错误消息,邀请用户填写表单的所有字段。问题在于,当出现错误消息时,用户在表单中输入的数据将被清除。如何确保保存此数据,并且用户不必再次重写所有内容

我的意思是,它必须是一种允许我保持表单填写的方法,因为它必须工作,即使,例如,所有字段都已填写,并且电子邮件字段没有@符号

这是我的jsp:

新康塔托酒店

Id:
名称:
Cognome:
安妮:
Sesso:
英迪里佐:
电话号码:
电子邮件:

错误 注意!这是一张100美元的邮票



错误 注意!我想我应该在这里 在数据库中演示。谢丽尔没有这样做



错误 注意!valore与“sesso”puòessere solo“m”组合, “M”、“f”、“f”



错误 注意!电视台的数字是一个人的数字



错误 注意!L'email deve contenre il simbolo'@'



错误 注意!从德沃诺-埃塞尔编译而来的课程



阿吉恩托·努沃·康塔托! 身份证件:
Nome:
Cognome:
等等:
Sesso:
英迪里佐: 电话号码:
电子邮件:

这是我的servlet:

/**
 * @see HttpServlet#HttpServlet()
 */
public AggiungiPersona() {
    super();
    // TODO Auto-generated constructor stub
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
 *      response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    
    
    // verifica se esiste una sessione già creata
            // se no: reindirizzo l'utente in login.html
            HttpSession session = request.getSession(false);
            
            if(session == null || session.getAttribute("loggedIn")==null || !session.getAttribute("loggedIn").equals(true)) {
               response.sendRedirect("login.jsp");
               
                return;
            }
            
            

    // prendo tutte le persone dal db e le metto in arrayList per poterci ciclare
    // sopra e controllare se l'id inserito esiste gia nella collezione

    ArrayList<Persona> listaPersone = null;
    listaPersone = PersonaQuery.getPersone();

    boolean found = false;

    if (request.getParameter("id") == "" || request.getParameter("nome") == ""
            || request.getParameter("cognome") == "" || request.getParameter("anni") == ""
            || request.getParameter("sesso") == "" || request.getParameter("indirizzo") == ""
            || request.getParameter("numTel") == "" || request.getParameter("email") == ""

    ) {
        request.setAttribute("error6", true);

        RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
        view.forward(request, response);

    } else if ((Integer.parseInt(request.getParameter("anni")) < 0)
            || (Integer.parseInt(request.getParameter("anni")) > 100)) {
        request.setAttribute("error", true);

        RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
        view.forward(request, response);

    } else if ((request.getParameter("sesso").charAt(0) != 'm') && (request.getParameter("sesso").charAt(0) != 'M')
            && (request.getParameter("sesso").charAt(0) != 'f')
            && (request.getParameter("sesso").charAt(0) != 'F')) {
        request.setAttribute("error3", true);
        RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
        view.forward(request, response);
    } else if (Pattern.matches("^[0-9]*$", request.getParameter("numTel")) == false) {
        request.setAttribute("error4", true);
        RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
        view.forward(request, response);
    } else if (!request.getParameter("email").contains("@")) {
        request.setAttribute("error5", true);
        RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
        view.forward(request, response);

    } else {
        for (Persona persona : listaPersone) {

            if (Integer.parseInt(request.getParameter("id")) == persona.getId()) {

                found = true;

                request.setAttribute("error2", true);
                RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
                view.forward(request, response);

            }
        }
        if (!found) {
            try {
                PersonaQuery.aggiungiPersona(Integer.parseInt(request.getParameter("id")),
                        request.getParameter("nome"), request.getParameter("cognome"),
                        Integer.parseInt(request.getParameter("anni")), request.getParameter("sesso"),
                        request.getParameter("indirizzo"), request.getParameter("numTel"),
                        request.getParameter("email"));

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            request.setAttribute("successo", true);
            RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
            view.forward(request, response);
        }

    }

}
/**
*@参见HttpServlet#HttpServlet()
*/
公共aggiungiperona(){
超级();
//TODO自动生成的构造函数存根
}
/**
*@参见HttpServlet#doPost(HttpServletRequest,HttpServletResponse
*(答复)
*/
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
//验证您是否可以创建一个会话
//se编号:login.html中的reindirizzo l'utente
HttpSession session=request.getSession(false);
如果(session==null | | | session.getAttribute(“loggedIn”)==null | | |!session.getAttribute(“loggedIn”).equals(true)){
sendRedirect(“login.jsp”);
返回;
}
//根据poterci ciclare的arrayList中的个人资料
//女高音和女低音控制音
ArrayList listaPersone=null;
listaPersone=personalquery.getPersone();
布尔值=false;
if(request.getParameter(“id”)=“”| | request.getParameter(“nome”)=“”
||request.getParameter(“cognome”)==“| | request.getParameter(“anni”)==”“
||request.getParameter(“sesso”)=“request.getParameter(“indirizzo”)=”“”
||request.getParameter(“numTel”)==“|| request.getParameter(“email”)==”
) {
setAttribute(“error6”,true);
RequestDispatcher视图=request.getRequestDispatcher(“aggiungiperona.jsp”);
视图。转发(请求、响应);
}else if((Integer.parseInt(request.getParameter(“anni”))<0)
||(Integer.parseInt(request.getParameter(“anni”))>100)){
setAttribute(“错误”,true);
RequestDispatcher视图=request.getRequestDispatcher(“aggiungiperona.jsp”);
视图。转发(请求、响应);
}else if((request.getParameter(“sesso”).charAt(0)!='m')&(request.getParameter(“sesso”).charAt(0)!='m'))
&&(request.getParameter(“sesso”).charAt(0)!=“f”)
&&(request.getParameter(“sesso”).charAt(0)!='F')){
setAttribute(“error3”,true);
RequestDispatcher视图=request.getRequestDispatcher(“aggiungiperona.jsp”);
视图。转发(请求、响应);
}else if(Pattern.matches(“^[0-9]*$”,request.getParameter(“numTel”))==false){
setAttribute(“error4”,true);
RequestDispatcher视图=request.getRequestDispatcher(“aggiungiperona.jsp”);
视图。转发(请求、响应);
}如果(!request.getParameter(“电子邮件”)包含(“@”),则为else{
setAttribute(“error5”,true);
RequestDispatcher视图=request.getRequestDispatcher(“aggiungiperona.jsp”);
视图。转发(请求、响应);
}否则{
for(Persona Persona:listaPersone){
if(Integer.parseInt(request.getParameter(“id”))==persona.getId()){
发现=真;
setAttribute(“error2”,true);
RequestDispatcher视图=request.getRequestDispatcher(“aggiungiperona.jsp”);
视图。转发(请求、响应);
}
}
如果(!找到){
试一试{
PersonaQuery.aggiungiPersona(Integer.parseInt(request.getParameter(“id”)),
request.getParameter(“nome”)、request.getParameter(“cognome”),
Integer.parseInt(request.getParameter(“anni”)),request.getParameter(“sesso”),
request.getParameter(“indirizzo”)、request.getParameter(“numTel”),
request.getParameter(“电子邮件”);
}捕获(例外e){
//TODO自动生成的捕捉块
/**
 * @see HttpServlet#HttpServlet()
 */
public AggiungiPersona() {
    super();
    // TODO Auto-generated constructor stub
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
 *      response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    
    
    // verifica se esiste una sessione già creata
            // se no: reindirizzo l'utente in login.html
            HttpSession session = request.getSession(false);
            
            if(session == null || session.getAttribute("loggedIn")==null || !session.getAttribute("loggedIn").equals(true)) {
               response.sendRedirect("login.jsp");
               
                return;
            }
            
            

    // prendo tutte le persone dal db e le metto in arrayList per poterci ciclare
    // sopra e controllare se l'id inserito esiste gia nella collezione

    ArrayList<Persona> listaPersone = null;
    listaPersone = PersonaQuery.getPersone();

    boolean found = false;

    if (request.getParameter("id") == "" || request.getParameter("nome") == ""
            || request.getParameter("cognome") == "" || request.getParameter("anni") == ""
            || request.getParameter("sesso") == "" || request.getParameter("indirizzo") == ""
            || request.getParameter("numTel") == "" || request.getParameter("email") == ""

    ) {
        request.setAttribute("error6", true);

        RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
        view.forward(request, response);

    } else if ((Integer.parseInt(request.getParameter("anni")) < 0)
            || (Integer.parseInt(request.getParameter("anni")) > 100)) {
        request.setAttribute("error", true);

        RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
        view.forward(request, response);

    } else if ((request.getParameter("sesso").charAt(0) != 'm') && (request.getParameter("sesso").charAt(0) != 'M')
            && (request.getParameter("sesso").charAt(0) != 'f')
            && (request.getParameter("sesso").charAt(0) != 'F')) {
        request.setAttribute("error3", true);
        RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
        view.forward(request, response);
    } else if (Pattern.matches("^[0-9]*$", request.getParameter("numTel")) == false) {
        request.setAttribute("error4", true);
        RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
        view.forward(request, response);
    } else if (!request.getParameter("email").contains("@")) {
        request.setAttribute("error5", true);
        RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
        view.forward(request, response);

    } else {
        for (Persona persona : listaPersone) {

            if (Integer.parseInt(request.getParameter("id")) == persona.getId()) {

                found = true;

                request.setAttribute("error2", true);
                RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
                view.forward(request, response);

            }
        }
        if (!found) {
            try {
                PersonaQuery.aggiungiPersona(Integer.parseInt(request.getParameter("id")),
                        request.getParameter("nome"), request.getParameter("cognome"),
                        Integer.parseInt(request.getParameter("anni")), request.getParameter("sesso"),
                        request.getParameter("indirizzo"), request.getParameter("numTel"),
                        request.getParameter("email"));

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            request.setAttribute("successo", true);
            RequestDispatcher view = request.getRequestDispatcher("aggiungiPersona.jsp");
            view.forward(request, response);
        }

    }

}