Olá galera por favor me ajudem, estou tentando chamar o css dentro da jsp e estou usando o framework spring mvc.... Tenho q fazer uma configuração na classe webappConfiguation? como chamo na pagina jsp?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá galera por favor me ajudem, estou tentando chamar o css dentro da jsp e estou usando o framework spring mvc.... Tenho q fazer uma configuração na classe webappConfiguation? como chamo na pagina jsp?
Opa, fala aí! Tudo certinho? =)
Se eu entendi direito, seu CSS não está sendo aplicado, correto?
Usando o Spring MVC, você precisa liberar os recursos estáticos, caso contrário ele irá procurar por controllers mapeados para a requisição...
No seu arquivo de configurações do Spring (spring-context.xml), você pode adicionar a seguinte linha:
<mvc:default-servlet-handler />
Isso deve resolver para você. Pode testar e nos dar o feedback aqui, por favor? =)
Abraço e bons estudos,
Fábio
Fábio, obrigado pela ajuda.
no caso eu estou usando o maven-forge.. ele mecriou o pom.xml...é nele q tenho q colocar configuração? pq não sei como chamo o css no jsp também.
tenho minha classe de configuração certo, a "WebAppConfiguration" no java .... e aqui está o caminho da pasta "CSS" ... "webapp/resources/css"..ja criei arquivo .css e quero estilizar minha .jsp.
Opa!
Cuidado, o pom.xml é onde você coloca as dependências do seu projeto .Rs.
Se você está fazendo a configuração programaticamente, você pode mexer na sua WebAppConfiguration (acredito que toda a configuração do Spring esteja sendo feito nela)...
@Configuration
@EnableWebMvc
public class WebAppConfiguration extends WebMvcConfigurerAdapter {
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
Pode testar e avisar aqui se funcionou? =)
Fábio
essa eu ja fiz fábio e na jsp....como faço para chamar?
Ah, certo. Achei que já tinha tentado... Na sua página (HTML ou JSP) você precisa colocar mais uma tag, dentro da <head>:
<link rel="stylesheet" href="...">
Dessa forma você cria um link entre a página e o CSS. O rel="stylesheet" é parte obrigatório, pois é você indicando qual a relação do arquivo que você quer linkar... Dentro do seu href você precisa passar o caminho para o seu CSS.
Consegue testar? =)
Fábio
Dessa forma eu também já fiz.. não deu...Andei pesquisando e parece q tem q configurar ou no XML ou por código ( como fiz) mas quando vou chamar essa forma não dá certo. Desculpa o transtorno Fábio
Você poderia postar sua classe de configuração do Spring, sua JSP e o erro que está acontecendo?
E fique tranquilo, não há problema algum! Vamos conversando até resolvermos isso para você! =)
Fábio
pronto ta ai o código fabio.
package br.com.cooperbuggy.system.conf;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import br.com.cooperbuggy.system.DAOS.BuggyDAO;
import br.com.cooperbuggy.system.controllers.HomeController;
import br.com.cooperbuggy.system.models.ListaDePasseio;
@Configuration
@EnableWebMvc
@ComponentScan(basePackageClasses={HomeController.class,BuggyDAO.class,ListaDePasseio.class})
public class AppWebConfiguration extends WebMvcConfigurerAdapter {
@Bean
public InternalResourceViewResolver internalResourceViewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
@Bean
public MessageSource messageSource(){
ReloadableResourceBundleMessageSource messageSource
= new ReloadableResourceBundleMessageSource();
messageSource.setBasename("/WEB-INF/message");
messageSource.setDefaultEncoding("UTF-8");
messageSource.setCacheSeconds(1);
return messageSource;
}
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Cadastro</title>
<style type="text/css">
@import url("../css/formCadastro.css");
</style>
</head>
<body>
<header>
<div class="container">
<h1>Logo dos bugueiros</h1>
</div>
</header>
<main class="secao container">
<div class="secao cadastro">
<h2>Cadastro do buggy</h2>
<form:form action="${s:mvcUrl('BC#grava').build() }" method="post" commandName="buggy">
<div>
<label>Número</label>
<input type="text" name="numero"/>
<form:errors path="numero"/>
</div>
<div>
<label>Nome</label>
<input type="text" name="nome"/>
<form:errors path="nome"/>
</div>
<button type="submit" >Cadastrar</button>
</form:form>
</div>
</main>
<footer class="rodape">
<p>Rodapé</p>
</footer>
</body>
</html>
Galera ja tentei varias formas mais ainda não consegui, me ajudem por favor.
Opa! Tudo bem, cara? =)
Desculpe a demora... =(
Você conseguiu resolver seu problema? Ou ainda persiste?
Fábio
blz fabio, ainda estou com problemas, não consegui colocar o css na minha jsp.
Beleza!
Uma das coisas que eu percebi é que você está utilizando o seguinte código para tentar importar o CSS:
<style type="text/css">
@import url("../css/formCadastro.css");
</style>
Ao invés de fazer isso, tenta utilizar a tag <link>, juntamente com a taglib core, assim:
<link rel="stylesheet" href="<c:url value='...' />">
Sacou? Como você já está importando essa taglib, basta utilizar essa tag <c:url>... E dentro do value, você precisa passar o caminho absoluto do seu CSS... =)
Depois de fazer isso, se não funcionar, posta a mensagem que aparece no console do seu browser aqui, por favor, se aparecer... =)
Fábio
Fábio, deu certo com a tag!!!muito obrigado parceiro.