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?
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.