2012-04-20 47 views
5

tengo descargar una imagen de origen deslizante jQuery y quiero integarte con mi JSP ArchivoNo es posible incluir archivos CSS y JS en Liferay portlet página JSP

Ésta es mi carpeta Struture

enter image description here

Este es la manera que ellos incluyo

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<link type="text/css" href="/css/jquery.ui.theme.css" rel="stylesheet" /> 
<link type="text/css" href="/css/jquery.ui.core.css" rel="stylesheet" /> 
<link type="text/css" href="/css/jquery.ui.slider.css" rel="stylesheet" /> 
<link rel="stylesheet" href="/css/style.css" type="text/css" media="screen"/> 

consigo este 404 en la consola del servidor

20:50:04,625 WARN [404_jsp:109] /css/jquery.ui.theme.css 
20:50:04,640 WARN [404_jsp:109] /css/jquery.ui.core.css 
20:50:04,640 WARN [404_jsp:109] /css/jquery.ui.slider.css 
20:50:04,656 WARN [404_jsp:109] /css/style.css 
20:50:04,671 WARN [404_jsp:109] /js/cufon-yui.js 
20:50:04,671 WARN [404_jsp:109] /js/GreyscaleBasic.font.js 
20:50:04,687 WARN [404_jsp:109] /js/jquery.easing.1.3.js 
+0

crossreferencing a las mismas preguntas en los foros de Liferay https://www.liferay.com/community/forums/-/message_boards/view_message/13575666 –

Respuesta

6

varias cuestiones:

  • Si veo esto que la imagen en miniatura que usted envió correctamente en, usted tiene su css y js carpeta en WEB-INF: Nada de lo que es en WEB-INF puede ser solicitada por cualquier navegador, por lo que nunca podrá obtenerlo.
  • Si crea docroot/css y docroot/js, seguirá obteniendo 404, porque no puede encontrar los archivos en /css/style.css, pero en /your-portlet/css/style.css - la forma genérica para abordarlo en JSP es

    < link rel="stylesheet" href="<%=request.getContextPath()%>/css/style.css"/> 
    
+0

Gracias por request.getContextPath(), fue información valiosa. – user1253847

+0

Gracias es muy útil publicar – asifaftab87

+0

mientras mi solución funciona, la solución de Mark con liferay-portlet.xml en realidad sería más recomendable. El mío es directamente a su pregunta "¿Cómo escribo esto correctamente?", Mientras que Mark responde la pregunta no formulada "¿Cómo resuelvo el problema subyacente elegantemente?" –

10

puso a los enlaces en liferay-portlet.xml y dejar que la carga Liferay el css y javascript. Esa es la mejor manera (por ejemplo, si el usuario quiere poner dos portlets en una página).

liferay-portlet.xml:

<header-portlet-css>/css/main.css</header-portlet-css> 
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript> 

y Olaf es correcto, debe mover el CSS- y JS-carpetas (también) e imágenes de WEB-INF a docroot carpeta

+0

Esta es la mejor solución (solo liferay), +1. –

+0

Ya, pero ¿por qué los nombres header-portlet y footer-portlet ?? (Para su información, tengo 6 portlets en la página) ¿Esto hace alguna diferencia? – user1253847

+0

1) sí, con p. /css/main.css en liferay-portlet.xml – Mark

Cuestiones relacionadas