[richfaces-issues] [JBoss JIRA] Commented: (RF-2319) h:commandLink and h:commandButton not working with RichFaces Portlet Bridge 3.1.4-GA / 3.1.4-SR1 in portlet/facelet environment

Mike Millson (JIRA) jira-events at lists.jboss.org
Wed Mar 19 11:31:51 EDT 2008


    [ http://jira.jboss.com/jira/browse/RF-2319?page=comments#action_12403617 ] 
            
Mike Millson commented on RF-2319:
----------------------------------

As a work around, comment out the following in your faces config:

<state-manager>
	org.jboss.portletbridge.application.PortalStateManager
</state-manager>

This is needed for ajax request support, so if you want to only use regular components, it is not needed. 

It looks to me like the issue is you cannot use regular components in combination with PortalStateManager, as this seems to cause navigation not to work. So as long as you are only using non-ajax components in your portlet, you should be able to use this work around.

> h:commandLink and h:commandButton not working with RichFaces Portlet Bridge 3.1.4-GA / 3.1.4-SR1 in portlet/facelet environment
> -------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: RF-2319
>                 URL: http://jira.jboss.com/jira/browse/RF-2319
>             Project: RichFaces
>          Issue Type: Bug
>    Affects Versions: 3.1.4
>         Environment: JBoss Portal 2.6.3-GA / JBoss [Trinity] 4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)
> Java version: 1.5.0_11,Sun Microsystems Inc.
> Java VM: Java HotSpot(TM) Client VM 1.5.0_11-b03,Sun Microsystems Inc.
> OS-System: Windows 2000 5.0,x86
>            Reporter: Andreas Chlupacek
>         Assigned To: Alexander Smirnov
>             Fix For: 3.2.0
>
>
> This might be a problem related to JIRA entry RF-2180, however we did not experience any view expired exception or JavaScript Errors described there. Furthermore, it seems to be related solely to the Portlet Bridge.
> Description:
> ==========
> A JSR-168 portlet project using RichFaces 3.1.3-GA and facelets was deployed on JBoss Portal 2.6.3. After upgrading the RichFaces Portlet Bridge libraries contained in the project to 3.1.4-GA, h:commandButton and h:commandLink components do not invoke the actions bound to them anymore. Upgrading to Portlet Bridge 3.1.4-SR1 does not remedy the problem either.
> Steps to reproduce:
> ================
> Set up a portlet application with the following artefacts:
> web.xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
> 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
> 	<context-param>
> 		<param-name>org.richfaces.LoadStyleStrategy</param-name>
> 		<param-value>ALL</param-value>
> 	</context-param>
> 	<context-param>
> 		<param-name>org.ajax4jsf.COMPRESS_STYLE</param-name>
> 		<param-value>false</param-value>
> 	</context-param>	
> 	<context-param>
> 		<param-name>org.richfaces.LoadScriptStrategy</param-name>
> 		<param-value>ALL</param-value>
> 	</context-param>
> 	<context-param>
> 		<param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
> 		<param-value>false</param-value>
> 	</context-param>
> 	
> 	<context-param>
> 		<param-name>org.ajax4jsf.RESOURCE_URI_PREFIX</param-name>
> 		<param-value>rfRes</param-value>
> 	</context-param>
> 	<!-- This is optional parameters for a facelets based application -->
> 	<context-param>
> 		<param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
> 		<param-value>
> 			org.ajax4jsf.portlet.application.FaceletPortletViewHandler
> 		</param-value>
> 	</context-param>
> 	<context-param>
> 		<param-name>javax.portlet.faces.renderPolicy</param-name>
> 		<param-value>ALWAYS_DELEGATE</param-value>
> 	</context-param>
> 	<context-param>
> 		<param-name>facelets.DEVELOPMENT</param-name>
> 		<param-value>true</param-value>
> 	</context-param>
> 	<context-param>
> 		<param-name>facelets.SKIP_COMMENTS</param-name>
> 		<param-value>true</param-value>
> 	</context-param>
> 	<context-param>
> 		<param-name>facelets.VIEW_MAPPINGS</param-name>
> 		<param-value>*.xhtml</param-value>
> 	</context-param>
> 	<context-param>
> 		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
> 		<param-value>server</param-value>
> 	</context-param>
> 	<filter>
> 		<display-name>Ajax4jsf Filter</display-name>
> 		<filter-name>ajax4jsf</filter-name>
> 		<filter-class>org.ajax4jsf.Filter</filter-class>
> 	</filter>
> 	<filter-mapping>
> 		<filter-name>ajax4jsf</filter-name>
> 		<servlet-name>FacesServlet</servlet-name>
> 		<dispatcher>FORWARD</dispatcher>
> 		<dispatcher>REQUEST</dispatcher>
> 		<dispatcher>INCLUDE</dispatcher>
> 	</filter-mapping>
> 	<servlet>
> 		<servlet-name>FacesServlet</servlet-name>
> 		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
> 		<load-on-startup>1</load-on-startup>
> 	</servlet>
> 	<servlet-mapping>
> 		<servlet-name>FacesServlet</servlet-name>
> 		<url-pattern>/faces/*</url-pattern>
> 	</servlet-mapping>
> 	<mime-mapping>
> 		<extension>svg</extension>
> 		<mime-type>image/svg+xml</mime-type>
> 	</mime-mapping>
> 	<login-config>
> 		<auth-method>BASIC</auth-method>
> 	</login-config>
> </web-app>
> faces-config.xml:
> <?xml version="1.0"?>
> <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
>                               "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
> <faces-config>
>  <managed-bean>
>   <managed-bean-name>bean</managed-bean-name>
>   <managed-bean-class>de.tmobile.richfaces.test.Bean</managed-bean-class>
>   <managed-bean-scope>session</managed-bean-scope>
>  </managed-bean>
>  <!-- Richfaces configuration -->
>  <application>
>   <view-handler>org.ajax4jsf.portlet.application.PortletViewHandler</view-handler>
>   <state-manager>org.ajax4jsf.portlet.application.PortalStateManager</state-manager>
>  </application>
>  <factory>
>   <faces-context-factory>org.ajax4jsf.portlet.context.FacesContextFactoryImpl</faces-context-factory>
>  </factory>
> </faces-config>
> jboss-portlet.xml:
> <?xml version="1.0"?>
> <!DOCTYPE portlet-app PUBLIC
>    "-//JBoss Portal//DTD JBoss Portlet 2.6//EN"
>    "http://www.jboss.org/portal/dtd/jboss-portlet_2_6.dtd">
> <portlet-app>
> 	<portlet>
> 		<portlet-name>richFacesPortlet</portlet-name>
> 		<header-content>
>            <script src="/faces/rfRes/org/ajax4jsf/framework.pack.js" type="text/javascript" ></script>
>            <script src="/faces/rfRes/org/richfaces/ui.pack.js" type="text/javascript" ></script>
>            <link rel="stylesheet" type="text/css" href="/faces/rfRes/org/richfaces/skin.xcss" /> 
> 		</header-content>
> 	</portlet>
> 	
> </portlet-app>
> view.xhtml:
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <a4j:portlet xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core"
> 	xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
> 	xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich">
> 	<h:outputText value="RichFaces components in the portal environment" />
> 	<h:form>
> 		<h:panelGrid columns="1" border="1">
> 			<h:inputText value="#{bean.text}">
> 				<a4j:support event="onkeyup" reRender="text,input" />
> 			</h:inputText>
> 			<h:outputText id="text" value="#{bean.text}" />
> 			<h:commandButton action="#{bean.click}" value="Click"></h:commandButton>
> 			<h:outputText id="counter" value="Click count: #{bean.counter}" />
> 		</h:panelGrid>
> 	</h:form>
> </a4j:portlet>
> Contents of /WEB-INF/lib:
> commons-beanutils-1.7.0.jar
> commons-collections-3.2.jar
> commons-digester-1.8.jar
> jsf-facelets.jar
> portletbridge-api-3.1.3.GA.jar
> portletbridge-impl-3.1.3.GA.jar
> richfaces-api-3.1.3.GA.jar
> richfaces-impl-3.1.3.GA.jar
> richfaces-ui-3.1.3.GA.jar
> Observed behaviour:
> ===================
> After upgrading the portletbridge jars to any version of 3.1.4, the action is not invoked. PhaseTracker shows that Stage 1 (Restore View) of the JSF lifecycle is executed and processing then directy advances to stage 6 (Render Response). 
> Expected behaviour:
> ===================
> The action should be invoked.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the richfaces-issues mailing list