掲示板

JSP CSS

15年前 に 匿名 によって更新されました。

JSP CSS

投稿: 1
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


<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") %>"&gt;


How I can achieve to get the path of my css to be able to include it?

Thank you.
thumbnail
15年前 に Christianto Sahat によって更新されました。

RE: JSP CSS

Regular Member 投稿: 179 参加年月日: 07/09/25 最新の投稿
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.
15年前 に 匿名 によって更新されました。

RE: JSP CSS

投稿: 1
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:


<link rel="stylesheet" type="text/css" href="?">


The ? is that thing I don't know..

Thank you in advance
thumbnail
15年前 に Christianto Sahat によって更新されました。

RE: JSP CSS

Regular Member 投稿: 179 参加年月日: 07/09/25 最新の投稿
Take a look at sample struts portlet here
15年前 に 匿名 によって更新されました。

RE: JSP CSS

投稿: 1
Thank you Christianto very much, now it works.

Greetings
14年前 に Franklin Phan によって更新されました。

RE: JSP CSS

Regular Member 投稿: 137 参加年月日: 09/03/10 最新の投稿
I am unable to get the portlet to work:
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).
14年前 に Preethi Dasa によって更新されました。

RE: JSP CSS

New Member 投稿: 3 参加年月日: 09/09/22 最新の投稿
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?
14年前 に vcvijayan MCA によって更新されました。

RE: JSP CSS

14年前 に Preethi Dasa によって更新されました。

RE: JSP CSS

New Member 投稿: 3 参加年月日: 09/09/22 最新の投稿
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:
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
thumbnail
14年前 に Gnaniyar Zubair によって更新されました。

RE: JSP CSS

Liferay Master 投稿: 722 参加年月日: 07/12/19 最新の投稿
Hi,

replace this,

com.liferay.portlet.StrutsResourceBundle


with

com.liferay.portlet.StrutsPortlet


in portlet.xml .


- Gnaniyar Zubair
14年前 に vcvijayan MCA によって更新されました。

RE: JSP CSS

thumbnail
14年前 に Hugo Alvarado によって更新されました。

RE: JSP CSS

New Member 投稿: 11 参加年月日: 09/03/23 最新の投稿
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