Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Обработка форм используя JSP & Servlet


Автор: Shklyar 13.1.2010, 13:01
Добрый день.
Задача — ипользуя JSP и Servlrt правильно обработать форму. Вот что набросал:

form.jsp
Код

<html>
<body>
    <form action="/formprocessing/fps" method=post>
        <table>
            <tr>
                <td>Name</td>
                <td><input type="text" name="name" value="" size=15 maxlength=20></td>
            </tr>
            <tr>
                <td>Surename</td>
                <td><input type="text" name="surname" value="" size=15 maxlength=20></td>
            </tr>
            <tr>
                <td colspan="2"><input type="submit" value="Submit"></td>
            </tr>
        </table>
    </form>
</body>
</html>


FormProcessingServlet.java
Код

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class FormProcessingServlet extends HttpServlet {
    public void doPost(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {
        FormBean formBean = new FormBean();
        formBean.setName(request.getParameter("name"));
        formBean.setSurname(request.getParameter("surname"));
        
        PrintWriter out = response.getWriter();
        
        try {
            formBean.validation();
            
            out.println("Your name is " + formBean.getName());
            out.println("Surname is " + formBean.getSurname());
        } catch(Exception e) {
            out.println(e);
        }
        
        out.close();
    }
    
    public void doGet(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }
}


FormBean.java
Код


public class FormBean {
    private String name;
    private String surname;
    
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setSurname(String surname) {
        this.surname = surname;
    }
    public String getSurname() {
        return surname;
    }
    
    public void validation() throws IllegalStateException {
        String err = "";
        
        if (name == "") err = err + "Name must be set; ";
        if (surname == "") err = err + "Surname must be set; ";
        if (err != "") throw new IllegalStateException(err);
    }
}


Нужна консультация относительно использования бина (он нужен? Предполагаю вернуть его в form.jsp при возникновении ошибки валидности) и его метода валидности (правильно ли порождение исключения в случае провала? Что с ним делать дальше?). В общем, то как красиво построить обработку форм на этих технологиях.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)