Falaaaa
Estava aqui brincando no struts e criei uma classe para inserir no banco, mas quando eu clico pra inserir ele vai pra uma página em branco e nem entra na tela de erro se eu digitar errado tb…e minha outra dúvida é se do jeito que eu fiz para inserir, está no padrão de design patterns…
RegistroAction
public class RegistroAction extends Action {
public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest request, HttpServlet response) throws SQLException, ClassNotFoundException {
RegistroForm registro = (RegistroForm) form;
String password = registro.getPassword();
String password2 = registro.getPassword2();
if(password.equals(password2)) {
RegistroDTO dto = new RegistroDTO();
dto.setNome(registro.getNome());
dto.setPassword(registro.getPassword());
RegistroDAO dao = new RegistroDAO();
dao.adiciona(dto);
return map.findForward("sucesso");
} else {
return map.findForward("erro");
}
}
}
RegistroForm
package beans;
import org.apache.struts.action.ActionForm;
public class RegistroForm extends ActionForm {
protected String nome;
protected String password;
protected String password2;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword2() {
return password2;
}
public void setPassword2(String password2) {
this.password2 = password2;
}
}
RegistroDTO
package dto;
public class RegistroDTO {
public String nome;
public String password;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
RegistroDAO
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import jdbc.ConnectionFactory;
import dto.RegistroDTO;
public class RegistroDAO {
private Connection con;
public RegistroDAO() throws SQLException, ClassNotFoundException {
this.con = ConnectionFactory.getConnection();
}
public void adiciona(RegistroDTO registro) throws SQLException {
PreparedStatement stmt = con.prepareStatement("insert into teste (nome,password) values (?,?)");
stmt.setString(1, registro.getNome());
stmt.setString(2, registro.getPassword());
stmt.execute();
stmt.close();
con.close();
}
}
registro.jsp
<%@ taglib uri="/WEB-INF/struts-html-el.tld" prefix="html" %>
<html:form action="registro.do">
Nome: <html:text property="nome"/><br />
Senha: <html:password property="password"/><br />
Repita a senha: <html:password property="password2"/>
<html:submit value="Salvar"/>
</html:form>
struts-config.xml
<action path="/registro" name="registroForm" type="actions.RegistroAction">
<forward name="sucesso" path="/paginas/sucesso/RegistroSucesso.jsp"/>
<forward name="erro" path="/paginas/erro/RegistroErro.jsp"/>
</action>