voyent
Messages posted by: rgordon  XML
Profile for rgordon -> Messages posted by rgordon [3]
Author Message
I've gotten IceFaces components to appear inside a portlet running in Liferay. Now I'm trying to use the Portlet tags (referenced by the URI: http://java.sun.com/portlet) so that I can create Portlet URLs inside my JSF page. Below is a simple example of what I'm trying to do:

Code:
<f:view     xmlns:portlet="http://java.sun.com/portlet"
 		xmlns:f="http://java.sun.com/jsf/core"
 		xmlns:ice="http://www.icesoft.com/icefaces/component">
 		
 <portlet:defineObjects/>
 <portlet:renderURL var="viewRender" windowState="maximized">
 </portlet:renderURL>
 			   
  <ice:form action="#{viewRender}">
 		<ice:panelGrid>
 				<ice:outputLabel value="Select a Action:"/>
 				<ice:selectOneMenu   value="#{GBStateBean.selectedCommand}">
 					<f:selectItems value="#{GBStateBean.commandList}"/>
 				</ice:selectOneMenu>  
 				<ice:messages/>
 				<ice:commandButton  value="Submit Form"/>
 		</ice:panelGrid>
 	</ice:form>  
 
 </f:view>


Basically, I'm trying to have the portlet make a call back to itself with the generated Portlet URL (renderURL, in this case) and have the portlet render itself in Maximized mode when the form submits. However, my Portlet is currently not appearing in liferay (it states 'Portlet is currently unavailible'), and I get the following exception:

Code:
Caused by: javax.faces.FacesException: Failed to execute JSP lifecycle.
 	at com.icesoft.faces.webapp.parser.Parser.parse(Parser.java:140)
 	at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:519)
 	... 204 more
 Caused by: javax.servlet.jsp.JspException: java.lang.reflect.InvocationTargetException
 	at com.liferay.taglib.portlet.DefineObjectsTag.doStartTag(DefineObjectsTag.java:54)
 	at com.icesoft.faces.webapp.parser.Parser.executeJspLifecycle(Parser.java:162)
 	at com.icesoft.faces.webapp.parser.Parser.executeJspLifecycle(Parser.java:186)
 	at com.icesoft.faces.webapp.parser.Parser.parse(Parser.java:134)
 	... 205 more
 Caused by: java.lang.reflect.InvocationTargetException
 	at sun.reflect.GeneratedMethodAccessor448.invoke(Unknown Source)
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 	at java.lang.reflect.Method.invoke(Method.java:585)
 	at com.liferay.portal.kernel.util.MethodInvoker.invoke(MethodInvoker.java:150)
 	at com.liferay.portal.kernel.util.MethodInvoker.invoke(MethodInvoker.java:47)
 	at com.liferay.taglib.portlet.DefineObjectsTag.doStartTag(DefineObjectsTag.java:51)
 	... 208 more
 Caused by: java.lang.NullPointerException
 	at com.liferay.portal.servlet.taglib.portlet.DefineObjectsTagUtil.doStartTag(DefineObjectsTagUtil.java:45)
 	... 214 more


Checking out the source code for "DefineObjectsTagUtil" it looks like the
javax.servlet.ServletRequest could be null?

I'm not sure if this is a Liferay question or IceFace question, but I thought that I'd stop here first and see if i could get any ideas for this issue.

Thanks.

I'm using IceFaces 1.6.1 and Liferay4.3
Thanks for your quick reply. So, as an example, how would the rendering of an action URL take place, setting the window state, parameters, etc? Are you saying that this would all be done in the Managed bean using Value Binding?
How do you access portlet specific information within the IceFaces JSF page, such as if the portlet is in minimized or maximized mode?
I know that in a jsp page there is a tag library that allows you access certain parameters and create action and response URLs. How is this done from the JSF page?
 
Profile for rgordon -> Messages posted by rgordon [3]
Go to:   
Powered by JForum 2.1.7ice © JForum Team