nb-master ta fazendo a apostila baseado no material do Vraptor 2 é ?
cara eu to é me lascando lento apostila do Vraptor 2 e usando o Vraptor 3 =)
mais dei uma parada mechendo no cloud do google agora para meu site novo…
http://sitescriptseguro.appspot.com/home
tentei user o vraptor 3 no google só que ao usar o bando de dados deles está dando erros… =/
abraços…
nb-master o meu crud deu um pau doido, seguir toda a documentação e nada… estou enrolando em algo…
web2ajax@gmail.com manda teu codigo pra mim ver !
Nem me fala… a idéia de ter um banco vertical é um pouco estranho para quem a vida toda usou bancos relacionais. Estou pensando em como faço para gerar um dump do banco sem ser via aplicação.
Verdade !
Fazendo tudo certinho mesmo assim da erro ! o que será ?
classe--------------->Dao----------------->Controller--------------------JSP
http://localhost:8080/global/usuarios/adiciona
meu controller
@Path("/usuarios") //Adiciona usuarios
@Post
public void adiciona(Usuarios usuarios) {
this.dao.adiciona(usuarios);
}
meu formulario
<%@ include file="../home/header.jsp" %>
<form action="<c:url value="/usuarios/adiciona" />" name="registerForm" method="post">
<fieldset>
<legend>.:Cadastrar no Sistema :.</legend>
<label for="usuarios.login"><fmt:message key="login"/></label>
<input type="text" name="usuarios.login" value="${usuarios.login }"/>
<label for="usuarios.password"><fmt:message key="password"/></label>
<input type="password" name="usuarios.password" value="${usuarios.password }"/>
<button type="submit" id="usuarios.submit" value="Salvar"><fmt:message key="send"/></button>
</fieldset>
</form>
<%@ include file="../home/footer.jsp" %>er.jsp" %>
meu usuarioDao
@Component
public class UsuariosDao {
private final Session session;
public UsuariosDao(Session session) {
this.session = session;
}
@Post
public void adiciona(Usuarios usuarios) {
session.save(usuarios);
}
}
pelo que me lembro no UsuarioDao
nao precisa da anotação @POST
no controller usa assim
@Post
@Path("/usuarios/adiciona") //Adiciona usuarios
public void adiciona(Usuarios usuarios) {
this.dao.adiciona(usuarios);
}
Junior, uma coisa que talvez você não entendeu é sobre os paths do vraptor.
Quando você anota seu controller com @Path aquele path exato é usado no URI. @Path("/usuarios) response apenas pelo URL /usuarios. Creio que seu erro era porque você estava tentando acessar como /usuarios/adiciona.
Caso você não anotar o controller o vraptor internamente usa o URI baseado no nome do controller em camel-case sem o sufixo Controller, concatenado com o nome do método. Ou seja, se seu controller é UsuariosController e tem um método chamado adicionar aí sim ele será usado como /usuarios/adicionar. Porém se você colocar a anotação @Path ela será substituída por esse padrão.
Lembrando também que se você colocar as anotações @Post ou @Get o método somente responderá por requisições desse tipo. Caso não houver @Post nem @Get ambas serão usadas.
Abraços
Garcia Bom Dia !
Obrigado, vou testar aqui para ver !