Fui inventar a moda de inserir o menu e footer em todas as paginas, e não estou conseguindo.
Lembrava do curso de Servlet que era possivel utilizar o import da lib jstl core para fazer isso sem replicar codigo. O problema que eu encontrei é que quando eu faço isso ele a parte importada não executa os ${xxxxxx}
Por exemplo, separei a parte dos css em um arquivo chamado default-css.jsp
<link href="${contextPath}resources/css/cssbase-min.css" rel="stylesheet" type="text/css" media="all" />
<link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700' rel='stylesheet' />
<link href="${contextPath}resources/css/fonts.css" rel="stylesheet" type="text/css" media="all" />
<link href="${contextPath}resources/css/fontello-ie7.css" rel="stylesheet" type="text/css" media="all" />
<link href="${contextPath}resources/css/fontello-embedded.css" rel="stylesheet" type="text/css" media="all" />
<link href="${contextPath}resources/css/fontello.css" rel="stylesheet" type="text/css" media="all" />
<link href="${contextPath}resources/css/style.css" rel="stylesheet" type="text/css" media="all" />
<link href="${contextPath}resources/css/layout-colors.css" rel="stylesheet" type="text/css" media="all" />
<link href="${contextPath}resources/css/responsive-style.css" rel="stylesheet" type="text/css" media="all" />
<link href="${contextPath}resources/css/guia-do-programador-style.css" rel="stylesheet" type="text/css" media="all" />
<link href="${contextPath}resources/css/produtos.css" rel="stylesheet" type="text/css" media="all" />
<link rel="canonical" href="http://www.casadocodigo.com.br/" />
Na pagina de detalhe inclui a seguinte linha
// jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
// + jsp
<title>Livros de Java, Android, iPhone, Ruby, PHP e muito mais - Casa do Código</title>
<c:import url="default-css.jsp" />
</head>
// resto do jsp
Porém o resultado que obtenho com a pagina rodando no servidor é:
<link href="resources/css/cssbase-min.css" rel="stylesheet" type="text/css" media="all" />
<link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700' rel='stylesheet' />
<link href="resources/css/fonts.css" rel="stylesheet" type="text/css" media="all" />
<link href="resources/css/fontello-ie7.css" rel="stylesheet" type="text/css" media="all" />
<link href="resources/css/fontello-embedded.css" rel="stylesheet" type="text/css" media="all" />
<link href="resources/css/fontello.css" rel="stylesheet" type="text/css" media="all" />
<link href="resources/css/style.css" rel="stylesheet" type="text/css" media="all" />
<link href="resources/css/layout-colors.css" rel="stylesheet" type="text/css" media="all" />
<link href="resources/css/responsive-style.css" rel="stylesheet" type="text/css" media="all" />
<link href="resources/css/guia-do-programador-style.css" rel="stylesheet" type="text/css" media="all" />
<link href="resources/css/produtos.css" rel="stylesheet" type="text/css" media="all" />
<link rel="canonical" href="http://www.casadocodigo.com.br/" />
O ${contextPath} é ignorado.
Duvidas:
- Estou viajando em fazer isso?
- Tem alguma solução para fazer isso funcionar?