フォーラム

ホーム » Liferay Portal » English » 3. Development

構造的に表示 平面上に表示 ツリー上に表示
スレッド数 [ 前へ | 次へ ]
toggle
匿名
JSP CSS
2009/04/27 2:23
答え

匿名

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

1
2<link rel="stylesheet" type="text/css" href="<portlet:renderURL>mycssfile.css</portlet:renderURL>">


nor this

1
2<link rel="stylesheet" type="text/css" href="mycssfile.css">


and this

1
2
3<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.
Christianto Sahat
RE: JSP CSS
2009/04/27 4:04
答え

Christianto Sahat

ランク: Regular Member

投稿数: 174

参加年月日: 2007/09/24

最近の投稿

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.
匿名
RE: JSP CSS
2009/04/27 6:04
答え

匿名

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:

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


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

Thank you in advance
Christianto Sahat
RE: JSP CSS
2009/04/27 19:12
答え

Christianto Sahat

ランク: Regular Member

投稿数: 174

参加年月日: 2007/09/24

最近の投稿

Take a look at sample struts portlet here
匿名
RE: JSP CSS
2009/04/28 1:28
答え

匿名

Thank you Christianto very much, now it works.

Greetings
Franklin Phan
RE: JSP CSS
2009/08/14 15:52
答え

Franklin Phan

ランク: Regular Member

投稿数: 137

参加年月日: 2009/03/10

最近の投稿

I am unable to get the portlet to work:
 12009-08-14 15:23:25,414 [main] ERROR [PortletHotDeployListener:436] java.lang.NoClassDefFoundError: com/liferay/portlet/StrutsPortlet
 2[b]java.lang.NoClassDefFoundError: com/liferay/portlet/StrutsPortlet[/b]
 3    at java.lang.ClassLoader.defineClass1(Native Method)
 4    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
 5    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
 6    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1876)
 7    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:889)
 8    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1353)
 9    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
10    at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:432)
11    at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
12    at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
13    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
14    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
15    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
16    at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
17    at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
18    at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
19    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
20    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
21    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
22    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
23    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
24    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
25    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
26    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
27    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
28    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
29    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
30    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
31    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
32    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
33    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
34    at org.apache.catalina.core.StandardService.start(StandardService.java:448)
35    at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
36    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
37    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
38    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
39    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
40    at java.lang.reflect.Method.invoke(Method.java:597)
41    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
42    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
43Caused by: java.lang.ClassNotFoundException: com.liferay.portlet.StrutsPortlet
44    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
45    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
46    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
47    ... 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:
 12009-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]
 2java.lang.ClassCastException: [b]com.liferay.portlet.PortletConfigImpl cannot be cast to com.liferay.portlet.PortletConfigImpl[/b]
 3    at com.liferay.portlet.StrutsPortlet.init(StrutsPortlet.java:175)
 4    at com.liferay.portlet.InvokerPortletImpl.init(InvokerPortletImpl.java:250)
 5    at com.liferay.portlet.PortletInstanceFactoryImpl.init(PortletInstanceFactoryImpl.java:245)
 6    at com.liferay.portlet.PortletInstanceFactoryImpl.create(PortletInstanceFactoryImpl.java:135)
 7    at com.liferay.portlet.PortletInstanceFactoryUtil.create(PortletInstanceFactoryUtil.java:47)
 8    at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:660)
 9    at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
10    at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
11    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
12    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
13    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
14    at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
15    at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
16    at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
17    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
18    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
19    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
20    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
21    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
22    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
23    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
24    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
25    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1218)
26    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
27    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
28    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
29    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
30    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
31    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
32    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).
Preethi Dasa
RE: JSP CSS
2009/10/07 7:48
答え

Preethi Dasa

ランク: New Member

投稿数: 3

参加年月日: 2009/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?
VCVijayan MCA
RE: JSP CSS
2009/10/07 8:39
答え

VCVijayan MCA

ランク: Regular Member

投稿数: 101

参加年月日: 2008/11/26

最近の投稿

Hi Preethi,

Please explain your problem clearly.

Explain Regarding:
When you facing the error?
Developing environment is ext or plugin?
Preethi Dasa
RE: JSP CSS
2009/10/07 22:40
答え

Preethi Dasa

ランク: New Member

投稿数: 3

参加年月日: 2009/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:
 1java.lang.ClassNotFoundException: com.liferay.portlet.StrutsPortlet
 2    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
 3    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
 4    at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:432)
 5    at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
 6    at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
 7    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
 8    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
 9    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
10    at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
11    at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
12    at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
13    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
14    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
15    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
16    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
17    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
18    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
19    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
20    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
21    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
22    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
23    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
24    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
25    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
26    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
27    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
28    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
29    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
30    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
31    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
32    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
33    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
34    at java.lang.reflect.Method.invoke(Method.java:597)
35    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
36    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:
 1java.lang.ClassCastException: com.liferay.portlet.PortletConfigImpl cannot be cast to com.liferay.portlet.PortletConfigImpl
 2    at com.liferay.portlet.StrutsPortlet.init(StrutsPortlet.java:175)
 3    at com.liferay.portlet.InvokerPortletImpl.init(InvokerPortletImpl.java:250)
 4    at com.liferay.portlet.PortletInstanceFactoryImpl.init(PortletInstanceFactoryImpl.java:245)
 5    at com.liferay.portlet.PortletInstanceFactoryImpl.create(PortletInstanceFactoryImpl.java:135)
 6    at com.liferay.portlet.PortletInstanceFactoryUtil.create(PortletInstanceFactoryUtil.java:47)
 7    at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:660)
 8    at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
 9    at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
10    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
11    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
12    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
13    at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
14    at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
15    at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
16    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
17    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
18    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
19    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
20    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
21    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
22    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
23    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
24    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
25    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
26    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
27    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
28    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
29    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
30    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
31    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
32    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
33    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
34    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
35    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
36    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
37    at java.lang.reflect.Method.invoke(Method.java:597)
38    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
39    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)


Thanks in advance
Gnaniyar Zubair
RE: JSP CSS
2009/10/07 23:50
答え

Gnaniyar Zubair

ランク: Liferay Master

投稿数: 558

参加年月日: 2007/12/19

最近の投稿

Hi,

replace this,

com.liferay.portlet.StrutsResourceBundle


with

com.liferay.portlet.StrutsPortlet


in portlet.xml .


- Gnaniyar Zubair
VCVijayan MCA
RE: JSP CSS
2009/10/08 0:22
答え

VCVijayan MCA

ランク: Regular Member

投稿数: 101

参加年月日: 2008/11/26

最近の投稿

Hi preethi,

For further details regarding developing portlets. Please go through the following snippets.

http://liferay1.googlecode.com/svn/trunk/snippet/portal-devt/
Hugo Alvarado
RE: JSP CSS
2009/12/09 22:38
答え

Hugo Alvarado

ランク: New Member

投稿数: 11

参加年月日: 2009/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