[richfaces-issues] [JBoss JIRA] Commented: (RF-3380) Tag a4j:support +rich:datatable in IE7

Stefan Siprell (JIRA) jira-events at lists.jboss.org
Thu Aug 28 08:19:38 EDT 2008


    [ https://jira.jboss.org/jira/browse/RF-3380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12427099#action_12427099 ] 

Stefan Siprell commented on RF-3380:
------------------------------------

Hi,
I am in a very similar situation. Versions 3.1.5 GA, 3.2.1 GA and 3.2.2 BETA 5 all yielded the same results. I am sorry to say, that I am limited by technical / administrative constraints in the test environment, so I cannot extract the HTTP Response Headers, which seem to be vital for the JS Code, responsible for updating the DOM:

A4J.AJAX.processResponse = function(req) {
   var options = req.options;
   var ajaxResponse = req.getResponseHeader('Ajax-Response');
//abbreviated
    if( ajaxResponse != "true"){
//further logic

My AJAX Response XHTML File:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:t="http://myfaces.apache.org/tomahawk" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" xmlns:e="http://enbw.com">
    <a4j:region id="regionII">
    			<a4j:outputPanel id="panelII">
Showing you some AJAX!!!
		</a4j:outputPanel>
	</a4j:region>             
</ui:composition>

My actual rendered HTTP Response:

<html  xmlns="http://www.w3.org/1999/xhtml"><head><link class='component' rel='stylesheet' type='text/css' href='/Reproducer/a4j/s/3_2_2.BETA5org/richfaces/renderkit/html/css/basic_classes.xcss/DATB/eAELXT5DOhSIAQ!sA18_.jsf' /><link class='component' rel='stylesheet' type='text/css' href='/Reproducer/a4j/s/3_2_2.BETA5org/richfaces/renderkit/html/css/extended_classes.xcss/DATB/eAELXT5DOhSIAQ!sA18_.jsf' media='rich-extended-skinning' /><script type='text/javascript' src='/Reproducer/a4j/g/3_2_2.BETA5org.ajax4jsf.javascript.AjaxScript.jsf'></script><script type='text/javascript'>window.RICH_FACES_EXTENDED_SKINNING_ON=true;</script><script type='text/javascript' src='/Reproducer/a4j/g/3_2_2.BETA5org/richfaces/renderkit/html/scripts/skinning.js.jsf'></script></head><span id="panelII">
Showing you some AJAX!!!</span></html>

I tried using the a4j:log to see what is happening internally but once the AJAX Response arrives, my IE window blanks out and there is no more to see for me.

I made sure that the org.ajax4jsf.Filter was connected to the Faces Servlet. To my understanding this Filter will decide if HTTP Response Header "Ajax-Response" is set.

To make things even worse: IE7 on Windows XP SP2 works great, the very same setup fails on IE7 running Windows Server 2003. 

Please ask if there is any more information I can add.


Regards


Stefan

> Tag a4j:support +rich:datatable in IE7
> --------------------------------------
>
>                 Key: RF-3380
>                 URL: https://jira.jboss.org/jira/browse/RF-3380
>             Project: RichFaces
>          Issue Type: Bug
>    Affects Versions: 3.1.4
>         Environment: Windows XP, JBoss 4.2.0 GA, FireFox 2.0.0.14, Internet Explorer 7.0.5730.13CO, Safari 3.1.1 (on Mac OS X 10.5.2)
>            Reporter: Ananda Debnath
>            Assignee: Nick Belaevski
>             Fix For: 3.1.x, Future
>
>
> I'm trying to implement a UI that uses a rich:datatable object. When the user clicks a row in the datatable, the details of the clicked item has to be displayed in a different part of the page. Searching through the JIRA pages has yielded some clues on how to make this happen... except that the approach that seems to work for FF and Safari, doesn't seem to work with IE 7.0.
> Here's my code:
> The JSF page:
> <html xmlns="http://www.w3.org/1999/xhtml"
>   xmlns:h="http://java.sun.com/jsf/html"
>   xmlns:a4j="http://richfaces.org/a4j"
>   xmlns:rich="http://richfaces.org/rich"
>   xmlns:f="http://java.sun.com/jsf/core">
> <f:view>
>   <h:form id="scratchListForm">
>     <rich:panel header="List" id="list">
>       <rich:dataTable value="#{RichDataTableRowClickBean.rows}"
>         var="row" id="listTable"
>         onRowMouseOver="this.style.backgroundColor='#FFFFAA'"
>         onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
>         <a4j:support event="onRowClick"
>           actionListener="#{RichDataTableRowClickBean.rowSelected}"
>           action="#{RichDataTableRowClickBean.selectRow}">
>           <f:param value="#{row.id}" name="current" />
>         </a4j:support>
>         <rich:column id="id">#{row.id}</rich:column>
>         <rich:column id="name">#{row.name}</rich:column>
>       </rich:dataTable>
>     </rich:panel>
>   </h:form>
> </f:view>
> </html>
> The bean:
> package scratch;
> import javax.faces.event.ActionEvent;
> public class RichDataTableRowClickBean {
>     private final Row[] rows = { new Row("0", "Zero"), new Row("1", "One"), new Row("2", "Two") };
>     public Row[] getRows() {
>         return this.rows;
>     }
>     public void rowSelected(ActionEvent event) {
>         System.out.println(event.getComponent().getId());
>         System.out.println(event.getComponent().getAttributes());
>         System.out.println(event.getSource());
>         System.out.println(event.getPhaseId());
>     }
>     public String selectRow() {
>         System.out.println("row selected");
>         return null;
>     }
>     public static class Row {
>         String id;
>         String name;
>         Row(String id, String name) {
>             this.id = id;
>             this.name = name;
>         }
>         public String getId() {
>             return id;
>         }
>         public void setId(String id) {
>             this.id = id;
>         }
>         public String getName() {
>             return name;
>         }
>         public void setName(String name) {
>             this.name = name;
>         }
>     }
> }
> When I click the row in FF/Safari, I get these server side events triggered by means of my System.out's:
> 12:33:33,707 INFO  [STDOUT] j_id1
> 12:33:33,707 INFO  [STDOUT] javax.faces.component.UIComponentBase$AttributesMap at 80c55637
> 12:33:33,707 INFO  [STDOUT] org.ajax4jsf.component.html.HtmlAjaxSupport at 140d57b
> 12:33:33,707 INFO  [STDOUT] INVOKE_APPLICATION 5
> 12:33:33,707 INFO  [STDOUT] row selected
> With IE 7, I see a Javascript error: 'Type mismatch' in a popup box (Line 85, character 452) - I can't find the actual line/char where the error occurs.
> Am I missing something obvious? Is there a workaround for IE7?

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

        



More information about the richfaces-issues mailing list