掲示板
JSP CSS
Hello community,
I have got a simple question.
I want to use an external css-file in my jsp. The jsp-file and the css-file are in the same directory, so my jsp-file and my css-file
are in the WEB-INF directory.
But neither this
nor this
and this
How I can achieve to get the path of my css to be able to include it?
Thank you.
I have got a simple question.
I want to use an external css-file in my jsp. The jsp-file and the css-file are in the same directory, so my jsp-file and my css-file
are in the WEB-INF directory.
But neither this
<link rel="stylesheet" type="text/css" href="<portlet:renderURL>mycssfile.css</portlet:renderURL>">
nor this
<link rel="stylesheet" type="text/css" href="mycssfile.css">
and this
<link rel="stylesheet" type="text/css" href="<%=renderResponse.encodeURL(renderRequest.getContextPath() +" WEB-INF mycssfile.css") %>">
How I can achieve to get the path of my css to be able to include it?
Thank you.
Do not put your javascript, css, and images files under WEB-INF, because WEB-INF is a protected directory, which can only be read by your application server. Your javascript, css, and images are read by browser, so your browser can't reach your WEB-INF directory.
Okay so now I am one stup further.
In the development document by liferay I found that the css directory has to be on the same level then WEB-INF (Page 9).
/PORTLET-NAME/
/docroot/
/css/
/js/
/WEB-INF/
But I still don't know how to reach the css-file
My test.jsp is in the WEB-INF directory and my css-file in the css directory...and how can I reach the css in this manner:
The ? is that thing I don't know..
Thank you in advance
In the development document by liferay I found that the css directory has to be on the same level then WEB-INF (Page 9).
/PORTLET-NAME/
/docroot/
/css/
/js/
/WEB-INF/
But I still don't know how to reach the css-file
My test.jsp is in the WEB-INF directory and my css-file in the css directory...and how can I reach the css in this manner:
<link rel="stylesheet" type="text/css" href="?">
The ? is that thing I don't know..
Thank you in advance
I am unable to get the portlet to work:
I see that StrutsPortlet is under portal-impl. If I put portal-impl.jar under WEB-INF/lib for the portlet, I get a different error:
I'm using Liferay 5.2.3 from stand-alone WAR file (not a part of any bundle) deployed into Tomcat 5.5.27, running under its own webapp context (i.e., not ROOT).
2009-08-14 15:23:25,414 [main] ERROR [PortletHotDeployListener:436] java.lang.NoClassDefFoundError: com/liferay/portlet/StrutsPortlet
[b]java.lang.NoClassDefFoundError: com/liferay/portlet/StrutsPortlet[/b]
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1876)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:889)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1353)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:432)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.lang.ClassNotFoundException: com.liferay.portlet.StrutsPortlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 40 more
I see that StrutsPortlet is under portal-impl. If I put portal-impl.jar under WEB-INF/lib for the portlet, I get a different error:
2009-08-14 15:48:12,020 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR [PortletHotDeployListener:663] java.lang.ClassCastException: [b]com.liferay.portlet.PortletConfigImpl cannot be cast to com.liferay.portlet.PortletConfigImpl[/b]
java.lang.ClassCastException: [b]com.liferay.portlet.PortletConfigImpl cannot be cast to com.liferay.portlet.PortletConfigImpl[/b]
at com.liferay.portlet.StrutsPortlet.init(StrutsPortlet.java:175)
at com.liferay.portlet.InvokerPortletImpl.init(InvokerPortletImpl.java:250)
at com.liferay.portlet.PortletInstanceFactoryImpl.init(PortletInstanceFactoryImpl.java:245)
at com.liferay.portlet.PortletInstanceFactoryImpl.create(PortletInstanceFactoryImpl.java:135)
at com.liferay.portlet.PortletInstanceFactoryUtil.create(PortletInstanceFactoryUtil.java:47)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:660)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1218)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
at java.lang.Thread.run(Thread.java:619)
I'm using Liferay 5.2.3 from stand-alone WAR file (not a part of any bundle) deployed into Tomcat 5.5.27, running under its own webapp context (i.e., not ROOT).
I have the same problem. I get a java.lang.ClassCastException: com.liferay.portlet.PortletConfigImpl cannot be cast to com.liferay.portlet.PortletConfigImpl error if the portal-impl.jar is included in the portlet's lib folder and a java.lang.ClassNotFoundException: com.liferay.portlet.StrutsPortlet error when its not.
Any leads?
Any leads?
14年前 に vcvijayan MCA によって更新されました。
RE: JSP CSS
Hi Vijayan,
Sorry for not explaining clearly before.
I am using the plugins sdk to create and deploy my portlet.
Here's what I did:
1. Use the plugins sdk to create a basic portlet.
2. Followed the instructions here to create the myplaces portlet. So basically I have added a ViewPlacesAction class and defined <portlet-class>com.liferay.portlet.StrutsPortlet</portlet-class> in portlet.xml
3. When I run 'ant deploy' it gives me this error:
4. So in liferay-plugin-package.properties I added the jar file name like this:
portal-dependency-jars=\
portal-impl.jar
Now it gives me this error:
Thanks in advance
Sorry for not explaining clearly before.
I am using the plugins sdk to create and deploy my portlet.
Here's what I did:
1. Use the plugins sdk to create a basic portlet.
2. Followed the instructions here to create the myplaces portlet. So basically I have added a ViewPlacesAction class and defined <portlet-class>com.liferay.portlet.StrutsPortlet</portlet-class> in portlet.xml
3. When I run 'ant deploy' it gives me this error:
java.lang.ClassNotFoundException: com.liferay.portlet.StrutsPortlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:432)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
4. So in liferay-plugin-package.properties I added the jar file name like this:
portal-dependency-jars=\
portal-impl.jar
Now it gives me this error:
java.lang.ClassCastException: com.liferay.portlet.PortletConfigImpl cannot be cast to com.liferay.portlet.PortletConfigImpl
at com.liferay.portlet.StrutsPortlet.init(StrutsPortlet.java:175)
at com.liferay.portlet.InvokerPortletImpl.init(InvokerPortletImpl.java:250)
at com.liferay.portlet.PortletInstanceFactoryImpl.init(PortletInstanceFactoryImpl.java:245)
at com.liferay.portlet.PortletInstanceFactoryImpl.create(PortletInstanceFactoryImpl.java:135)
at com.liferay.portlet.PortletInstanceFactoryUtil.create(PortletInstanceFactoryUtil.java:47)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:660)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Thanks in advance
Hi,
replace this,
with
in portlet.xml .
- Gnaniyar Zubair
replace this,
com.liferay.portlet.StrutsResourceBundle
with
com.liferay.portlet.StrutsPortlet
in portlet.xml .
- Gnaniyar Zubair
14年前 に vcvijayan MCA によって更新されました。
RE: JSP CSS
Hi Franklin,
I was having the same issue and adding portal-impl.jar does not help at all in fact you are not allowed to use it in Plugins SDK.
To get it to work you have to remove portal-impl.jar and set the Portal Class Loader, add a folder named META-INF at the same level of WEB-INF and create a context.xml with this:
<Context>
<Loader loaderClass="com.liferay.support.tomcat.loader.PortalClassLoader" />
</Context>
Make sure to remove any previous version of your portlet and redeploy.
Hopefully will solve your issue ;)
-Hugo
I was having the same issue and adding portal-impl.jar does not help at all in fact you are not allowed to use it in Plugins SDK.
To get it to work you have to remove portal-impl.jar and set the Portal Class Loader, add a folder named META-INF at the same level of WEB-INF and create a context.xml with this:
<Context>
<Loader loaderClass="com.liferay.support.tomcat.loader.PortalClassLoader" />
</Context>
Make sure to remove any previous version of your portlet and redeploy.
Hopefully will solve your issue ;)
-Hugo