Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Routes com contexto principal.

Boa tarde Flavio, Criei um projeto Java WEB, copiei o conteúdo da pasta Client para dentro do webapp do projeto Java. No index.html apenas mudei a tag

para depois dos script do angular. A pagina carregou com todo o conteúdo.(Sem erro no console do browser) O Servidor que estou utilizando WildFly 10. O Contexto da aplicação ficou com: localhost:8080/Projeto-web. (carrega perfeitamente a página principal). Porém, quando clico no botão “nova foto” é carregado a tela de cadastro, mas na URL: fica: localhost:8080/cadastro apagando o contexto principal da aplicação e se eu tentar recarregar a pagina com o F5, aparece Not Found (Sem erro no console). 1) Como faço para colocar nas routes o contexto principal (Projeto-web)? 2) E quando clicar no link novo foto o contexto ficar: localhost:8080/Projeto-web/cadastro ?
3 respostas

Boa tarde!

Para que as rotas funcionem, não basta seu servidor web servir os arquivos estáticos do Angular. Ele tem que esta programado para devolver index.html para qualquer requisição feita para ele, inclusive 404 . Sem isso, as rotas não funcionaram como esperado.

Se esta tudo correto, verifique como você passou o caminho da rota para o seu routeLink. Segue uma regrinha:

[routerLink]="['/absolute']"
[routerLink]="['../../parent']"
[routerLink]="['../sibling']"
[routerLink]="['./child']"     // or
[routerLink]="['child']"

Sucesso e bom estudo.

Boa tarde!

Para que as rotas funcionem, não basta seu servidor web servir os arquivos estáticos do Angular. Ele tem que esta programado para devolver index.html para qualquer requisição feita para ele, inclusive 404 . Sem isso, as rotas não funcionaram como esperado. Sobre isso, dá uma conferida na aula de build do curso de Vue. Lá eu expliquei melhor, mas o conceito é o mesmo:

https://cursos.alura.com.br/course/vue-parte2/task/23715

Se esta tudo correto, verifique como você passou o caminho da rota para o seu routeLink. Segue uma regrinha:

[routerLink]="['/absolute']"
[routerLink]="['../../parent']"
[routerLink]="['../sibling']"
[routerLink]="['./child']"     // or
[routerLink]="['child']"

Sucesso e bom estudo.

solução!

Bom dia, a solução é bem simples, no app.module adicionei --> providers: [{provide: APP_BASE_HREF, useValue: '/Projeto-web'}], com isso ao mudar a roda o contexto principal da aplicação é mantido e para que a navegação funcione utilizando a url , no arquivo web.xml, adicionei --> 404 / --> Assim quando tiver uma solicitação para o servidor q ele não conheça ele retornar o index.xml.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software