0
votes

i'm trying to run my first portlet according to this tutorial: Liferay Developers Guide

I'm using Liferay's 6.0.6 version and this is my code.

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<%@ page import="javax.portlet.PortletPreferences" %>

<portlet:defineObjects />
 <liferay-theme:defineObjects />
<%
     PortletPreferences prefs = renderRequest.getPreferences();
     String greeting = (String)prefs.getValue(
          "greeting", "Hello! Welcome to our portal.");
%>
<p><%= greeting %></p>
<portlet:renderURL var="editGreetingURL">
     <portlet:param name="jspPage" value="/edit.jsp" />
</portlet:renderURL>
<p><a href="<%= editGreetingURL %>">Edit greeting</a></p>

When i try to run i get error message:

org.apache.jasper.JasperException: An exception occurred processing JSP page /view.jsp at line 8

5: <portlet:defineObjects />
6: <liferay-theme:defineObjects />
7: <%
8:  PortletPreferences prefs = renderRequest.getPreferences();
9:  String greeting = (String)prefs.getValue("greeting", "Hello! Welcome to our portal!");
10: %>
11: <p><%= greeting %></p>


Stacktrace:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:53)
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:110)
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:53)
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:53)
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:53)
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:53)

Have anyone have any idea of what i'm doing wrong?

1
IMO you're better off learning from any generic portlet tutorial and then adjusting it to liferay. The examples liferay tutorial gives use pretty outdated technologies (scriptlets anyone?). Anyway your code works for me. So maybe try redeploying it.soulcheck
As soulcheck already pointed out. Don't waste your time on liferay specific portlets. Stick to JSR 286 portlets. Use something more decent like Spring MVC or an JSF implementation.Udo Held
Well that entirely depends if they're using Liferay as the portal server for a particular reason. If they're just learning how to develop portlets, I'd agree with your statements, but if he's learning Liferay portlet development then this is kind of key!Jonny
@Jonny it's not really. It's better to port your knowledge about portlets in general to the liferay environment. Even if you have to modify liferay portlets there are better tutorials for both portlet and jsp/scriptlet development.soulcheck

1 Answers

0
votes

Delete the contents of tmp and work folders inside tomcat and try again!