Vraptor 3 Controller com Nome composto

Sei que é bem simples a pergunta porém não estou sabendo debugar isso.

Tenho Alguns controllers

LoginController
NoticiasController
CategoriaNoticiasController

Imagine que cada controller possui um metodo index()

eles acessarão as paginas:

/WEB-INF/jsp/login/index.jsp
/WEB-INF/jsp/noticias/index.jsp
/WEB-INF/jsp/categorianoticias/index.jsp --> não está encontrando a jsp…

Alguem poderia me dizer como é feita nomeclatura de controllers com nomes compostos no VRaptor 3 ?

só a primeira letra vai pra minúscula:

categoriaNoticias

vai ser o nome do controller no fim das contas

O que eu tive que colocar pra minusculo o resto das letras pra ele poder entender o nome da pasta.

Isso que você mostrou não funciona… ele não acha a pasta de jeito nenhum…

já tentei…

o mesmo vale para quando tenta transformar as informações de um formulario para um objeto.

ex:

public class CategoriaNoticia {
     private Long id;
     private String nome;
}

public class CategoriaNoticiasController {
    public void salvar(CategoriaNoticia categoria){
       // o objeto categoria sempre vem nulo... ele não converte
    }
}

<form method="post" action="/categorianoticias/salvar">
Nome: <input type="text" name="categoriaNoticia.nome" />
<input type="submit" value="Enviar" />
</form>

a action do form não é exatamente essa é só um exemplo…

Se possível gostaria que testasse e me dissesse se funciona.

Grato

Se você tem o controller (não esqueça a anotação):

@Resource
public class CategoriaNoticiasController {
    public void salvar(CategoriaNoticia categoria){
       // o objeto categoria sempre vem nulo... ele não converte
    }
}

a uri vai ser /categoriaNoticias/salvar e o jsp vai ser
/WEB-INF/jsp/categoriaNoticias/salvar.jsp

e o nome dos parâmetros que você vai usar no form, é o nome do parâmetro do método,
no caso o nome é categoria, então seu form ficaria assim:

<form method="post" action="/categoriaNoticias/salvar">
Nome: <input type="text" name="categoria.nome" />
<input type="submit" value="Enviar" />
</form>

[]'s

Po cara muito obrigado pela resposta rapida.

Em relação ao formulario, funcionou. Eu achava que fosse o nome da classe que tivesse que ficar no nome dos campos.

Em relação ao controlador, não sei o que estava acontecendo. Parecia tpo um cache antigo do projeto… sei la.

Limpei o projeto e mandei construir denovo e funcionou.

Muito obrigado, mais uma vez.

Abraço.

Bom, o pior é que era o nome da classe, pelomenos no VRaptor 2 … o.O não sabia que tinha mudado, bom saber

Eu estava com o mesmo problema ao resolver a URI nas Controllers de Nome Composto:

Segue Código:

@Resource
public class UsuarioVivosController {

	@Get @Path("/usuariovivos")
	public List&lt;UsuarioVivo&gt; lista() {
		return usuariovivos.listAll();
	}

Jsp: /vraptor/src/main/webapp/WEB-INF/jsp/usuarioVivos/lista.jsp

Log VRaptor:

Estou gerando meus artefatos via vraptor-plugin-maven, que grava a jsp, dado template, dentro da pasta referente a Controller via command line.

O Bug é do próprio Eclipse. Ele me dava 404 quando chamava a uri…
Já havia dado clean no projeto, já havia reinstalado com o maven e nada.

Fui até o arquivo jsp que estava dentro da pasta, coloquei espaço e salvei o arquivo.
Esse problema ocorreu com todos os gerados automatico pelo maven, fiz isso pra todos os jsp’s e resolveu!