RenderResponseImpl.setHeader ERROR on Liferay 4.3.4
by barthchristian@arcor.de
Hi!
We are trying to use Icefaces with Liferay-Portal 4.3.4 on JBoss AS 4.2.2.
We use Sun RI of JSF with the appropriate portal-bridge.
For testing RichFaces, I edited an existing Portlet and added the ToolTip that is evaluated on the server.
When entering the Portal, everything seems to be working. But when I move the mouse over the Tooltip area, the complete page is reloaded and the message that should be displayed in the tooltip is rendered into the portlet.
The Server-log shows the following error:
Code:
ERROR [AjaxRendererUtils] Detecting request character encoding is disable.
17:40:30,593 ERROR [AjaxRendererUtils] Failed to obtain Response#setHeader() method: java.lang.NoSuc
hMethodException: com.liferay.portlet.RenderResponseImpl.setHeader(java.lang.String, java.lang.Strin
g)
Our web.xml:
<?xml version="1.0"?>
<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">
<display-name>SOPortletCustomer</display-name>
<context-param>
<param-name>company_id</param-name>
<param-value>godesys.de</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.PRETTY_HTML</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
<param-value>true</param-value>
</context-param>
<filter>
<filter-name>utf-8</filter-name>
<filter-class>
com.godesys.web.filter.SetEncodingFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>utf-8</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>
<listener>
<listener-class>
com.liferay.util.bridges.jsf.sun.LiferayConfigureListener
</listener-class>
</listener>
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>richfaces</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- extension mapping -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>http://richfaces.org/rich</taglib-uri>
<taglib-location>/WEB-INF/rich.tld</taglib-location>
</taglib>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>
Our faces-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<component>
<component-type>PORTLET_MENU_COMPONENT</component-type>
<component-class>com.godesys.web.faces.component.PortletMenuComponent</component-class>
</component>
<component>
<component-type>PORTLET_MENU_ELEMENT_COMPONENT</component-type>
<component-class>com.godesys.web.faces.component.PortletMenuElementComponent</component-class>
</component>
<component>
<component-type>PORTLET_MENU_LIST_COMPONENT</component-type>
<component-class>com.godesys.web.faces.component.PortletMenuListComponent</component-class>
</component>
<component>
<component-type>PORTLET_MENU_LIST_ELEMENT_COMPONENT</component-type>
<component-class>com.godesys.web.faces.component.PortletMenuListElementComponent</component-class>
</component>
<component>
<component-type>PORTLET_MENU_COMPONENT</component-type>
<component-class>com.godesys.web.faces.component.PortletMenuComponent</component-class>
</component>
<component>
<component-type>PORTLET_MENU_LIST_TRIGGER_COMPONENT</component-type>
<component-class>com.godesys.web.faces.component.PortletMenuListTriggerComponent</component-class>
</component>
<component>
<component-type>PortletNonFacesURL</component-type>
<component-class>
com.godesys.web.faces.component.PortletNonFacesLinkComponent
</component-class>
</component>
<component>
<component-type>PortletTab</component-type>
<component-class>
com.godesys.web.faces.component.PortletTabComponent
</component-class>
</component>
<component>
<component-type>PortletTabElement</component-type>
<component-class>
com.godesys.web.faces.component.PortletTabElementComponent
</component-class>
</component>
<component>
<component-type>PortletTabActivate</component-type>
<component-class>
com.godesys.web.faces.component.PortletTabActivateComponent
</component-class>
</component>
<component>
<component-type>TruncateTextConverter</component-type>
<component-class>
com.godesys.web.faces.component.TruncateTextConverterComponent
</component-class>
</component>
<component>
<component-type>FusionChart</component-type>
<component-class>
com.godesys.web.faces.component.FusionChartComponent
</component-class>
</component>
<component>
<component-type>FusionChartParameter</component-type>
<component-class>
com.godesys.web.faces.component.FusionChartParameterComponent
</component-class>
</component>
<converter>
<converter-id>TextFormatter</converter-id>
<converter-class>
com.godesys.web.converter.FormattedTextConverter
</converter-class>
</converter>
<converter>
<converter-id>TruncateTextConverter</converter-id>
<converter-class>
com.godesys.web.converter.TruncateTextConverter
</converter-class>
</converter>
<managed-bean>
<managed-bean-name>customerListBean</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerListBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>customerSearchBean</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerSearchBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>orderBean</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerOrderBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>customerEditBean</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerEditBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>customerGlobData</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerGlobData
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>customerRightsBean</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerRightsBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>customerErrorBean</managed-bean-name>
<managed-bean-class>
com.godesys.web.util.WebExceptionBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>projectViewBean</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerProjectsBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>customerToolbar</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerToolbarManagementBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>partnerListBean</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerPartnersBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>appointmentListBean</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerAppointmentsBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>customerStatisticBean</managed-bean-name>
<managed-bean-class>
com.godesys.crm.web.CustomerSalesStatisticBean
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<navigation-rule>
<navigation-case>
<from-outcome>error</from-outcome>
<to-view-id>/customer/CustomerError.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>search</from-outcome>
<to-view-id>/customer/CustomerSearch.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>list</from-outcome>
<to-view-id>/customer/CustomerList.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>adressChart</from-outcome>
<to-view-id>
/customer/CustomerAdressStatistic.jsp
</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>list</display-name>
<from-view-id>/customer/CustomerList.jsp</from-view-id>
<navigation-case>
<from-outcome>selectCustomer</from-outcome>
<to-view-id>/customer/CustomerDetail.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/customer/CustomerAppointments.jsp</from-view-id>
<navigation-case>
<from-outcome>selectCustomer</from-outcome>
<to-view-id>/customer/CustomerAppointments.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/customer/CustomerPartner.jsp</from-view-id>
<navigation-case>
<from-outcome>selectCustomer</from-outcome>
<to-view-id>/customer/CustomerPartner.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/customer/CustomerPartnerDetail.jsp</from-view-id>
<navigation-case>
<from-outcome>selectCustomer</from-outcome>
<to-view-id>/customer/CustomerPartner.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/customer/CustomerOrder.jsp</from-view-id>
<navigation-case>
<from-outcome>selectCustomer</from-outcome>
<to-view-id>/customer/CustomerOrder.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>showOrders</from-outcome>
<to-view-id>/customer/CustomerOrder.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>edit</display-name>
<from-view-id>/customer/CustomerDetail.jsp</from-view-id>
</navigation-rule>
<navigation-rule>
<display-name>error</display-name>
<from-view-id>/customer/CustomerError.jsp</from-view-id>
</navigation-rule>
<navigation-rule>
<from-view-id>/customer/CustomerPartner.jsp</from-view-id>
<navigation-case>
<from-outcome>selectPartner</from-outcome>
<to-view-id>/customer/CustomerPartnerDetail.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>search</from-outcome>
<to-view-id>/customer/CustomerSearch.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>list</from-outcome>
<to-view-id>/customer/CustomerList.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>adressStatistic</from-outcome>
<to-view-id>/customer/CustomerAdressStatistic.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<render-kit>
<renderer>
<component-family>com.godesys.PortletMenu</component-family>
<renderer-type>PORTLET_MENU_RENDERER</renderer-type>
<renderer-class>
com.godesys.web.faces.renderer.PortletMenuRenderer
</renderer-class>
</renderer>
<renderer>
<component-family>PortletNonFacesURL</component-family>
<renderer-type>PortletNonFacesURL</renderer-type>
<renderer-class>
com.godesys.web.faces.renderer.PortletNonFacesLinkRenderer
</renderer-class>
</renderer>
<renderer>
<component-family>PortletTab</component-family>
<renderer-type>PortletTab</renderer-type>
<renderer-class>
com.godesys.web.faces.renderer.PortletTabRenderer
</renderer-class>
</renderer>
<renderer>
<component-family>PortletTabActivate</component-family>
<renderer-type>PortletTabActivate</renderer-type>
<renderer-class>
com.godesys.web.faces.renderer.PortletTabActivateRenderer
</renderer-class>
</renderer>
<renderer>
<component-family>TruncateTextConverter</component-family>
<renderer-type>TruncateTextConverter</renderer-type>
<renderer-class>
com.godesys.web.faces.renderer.TruncateTextConverterRenderer
</renderer-class>
</renderer>
<renderer>
<component-family>FusionChart</component-family>
<renderer-type>FusionChart</renderer-type>
<renderer-class>
com.godesys.web.faces.renderer.FusionChartRenderer
</renderer-class>
</renderer>
</render-kit>
<application>
<locale-config>
<default-locale>DE</default-locale>
<supported-locale>de</supported-locale>
<supported-locale>en</supported-locale>
<supported-locale>en_US</supported-locale>
<supported-locale>de_de</supported-locale>
</locale-config>
<message-bundle>
com.godesys.customer.web.messages.MessageResources
</message-bundle>
</application>
</faces-config>
We'd be really happy about any suggestions.
Thanks,
barthi
16 years, 9 months
[JBoss JIRA] Created: (RF-1845) rich:tooltip under h:inputText don't hide on blur (using TAB key), when event is set to "onfocus". with on click works fine.
by Simon Himelreich (JIRA)
rich:tooltip under h:inputText don't hide on blur (using TAB key), when event is set to "onfocus". with on click works fine.
----------------------------------------------------------------------------------------------------------------------------
Key: RF-1845
URL: http://jira.jboss.com/jira/browse/RF-1845
Project: RichFaces
Issue Type: Patch
Affects Versions: 3.1.3
Environment: Windows Vista
JBoss AS 4.0.2
Mozilla Firefox 2.0.0.11
Reporter: Simon Himelreich
When wlaking throught input form elements with TAB key, tooltip does not hide when leaving focus of the h:inputText element.
I added some code in tooltip.js under /org/richfaces/renderkit/html/scripts/tooltip.js and now it works fine
Uder line 84:
if ("focus" == this.event) {
Event.stopObserving(this.parent, "blur", this.doHideListner, false);
Event.stopObserving(this.toolTip, 'blur', this.leaveToolTipListner, false);
} else {
Event.stopObserving(this.parent, "mouseout", this.doHideListner, false);
Event.stopObserving(this.toolTip, 'mouseout', this.leaveToolTipListner, false);
}
Under line 141:
if ("focus" == this.event) {
Event.observe(this.parent, "blur", this.doHideListner, false);
Event.observe(this.toolTip, 'blur', this.leaveToolTipListner, false);
} else {
Event.observe(this.parent, "mouseout", this.doHideListner, false);
Event.observe(this.toolTip, 'mouseout', this.leaveToolTipListner, false);
}
--
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
16 years, 9 months