2012-12-11 32 views
1

我已经开发了一个演示应用程序在RichFaces3.3.3一个客户人口统计向导。在GoogleChrome和Mozilla Firefox上一切正常。但在IE8中运行相同的问题。在IE8向导的第一页显示正常,但在尝试导航到下一页时单击下一个按钮后,没有窗体显示。RichFaces的渲染IE8

IE8被这样显示错误:

用户代理:Mozilla的/ 4.0(兼容; MSIE 7.0; Windows NT的5.1;三叉戟/ 4.0; .NET CLR 2.0.50727) 时间戳:星期二,2012年12月11日11时08分28秒UTC

消息:未知的运行时错误 行:120 字符:1 代码:0 URI:HTTP://localhost:8400/BBGUServer/a4j/g/3_3_3.Finalorg.ajax4jsf。 javascript.AjaxScript.jsf

谁能帮我出wher e是问题。

在此先感谢..

下面的代码在IE8给错误RichFaces3.3.3

请参见下面给出的代码。随着这个.java bean文件,我不给,因为我不认为这些将是必需的。

这里start.xhtml是加载custStep1.xhtml的主页。形式给予一定的价值,当我点击该按钮导航到下一个页面后,“下一步”没什么的“custStep2”形式显示。只有父窗体下拉(正如你可以看到那些我start.xhtml)正在显示。通常这个特殊的问题发生在IE8中。在Firefox/Chrome中一切正常运行...........

--------------------------- ------------ start.xhtml开头

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:a4j="http://richfaces.org/a4j" 
     xmlns:rich="http://richfaces.org/rich"> 

    <script type='text/javascript'> 
    //<![CDATA[ 
     function setSkinValue(skinName) 
     { 
      Seam.Component.getInstance('skinBean').setSkin(skinName, function() 
      { 
       Seam.Remoting.log('reloading window'); 
       window.location.reload(false); 
      }); 
     } 
    //]]> 
    </script> 
    <style type="text/css"> 
     .wizard { width:800px; } 
     .wform td { vertical-align:right; } 
     .wfcol1 { text-align: right; white-space:nowrap;} 
     .s1row td { height:30px; } 
     .rich-message { color:red; } 

     .navPanel { 
      position:absolute; 
      bottom:0; 
      height:30px; 
      margin:0; 
      padding:2px; 
     } 
    </style> 
    <head> 
     <link rel="stylesheet" href="css/style.css" type="text/css" /> 
    </head> 
    <br/> 
    <h:panelGrid width="800px" border="0"> 
     <a4j:keepAlive beanName="customerBean" /> 
     <rich:panel styleClass="wizard"> 
      <f:facet name="header"> 
      <h:outputText value="BBGUI Customer Demographics..." /> 
      </f:facet> 
      <h:form id="mainForm" dir="#{customerBean.textDirection}"> 
       <rich:comboBox 
        id="language" 
        selectFirstOnUpdate="false" 
        defaultLabel="" 
        value="#{customerBean.languageName}" 
        enableManualInput="false" 
        width="100"> 
        <f:selectItem itemValue="English"/> 
        <f:selectItem itemValue="Arabic"/> 
        <a4j:support event="onselect" reRender="mainForm" action="#{customerBean.changeLanguage}"/> 
       </rich:comboBox> 
       <br/><br/> 
       <rich:comboBox 
        id="theme" 
        selectFirstOnUpdate="false" 
        defaultLabel="Emerald Town" 
        value="#{skinBean.skin}" 
        enableManualInput="false" 
        width="100"> 
        <f:selectItem itemValue="emeraldTown"/> 
        <f:selectItem itemValue="blueSky"/> 
        <f:selectItem itemValue="wine"/> 
        <f:selectItem itemValue="japanCherry"/> 
        <f:selectItem itemValue="plain"/> 
        <f:selectItem itemValue="ruby"/> 
        <f:selectItem itemValue="classic"/> 
        <f:selectItem itemValue="laguna"/> 
        <f:selectItem itemValue="deepMarine"/> 
        <a4j:support event="onselect" reRender="mainForm" action="javascript:setSkinValue(this.value);"/> 
       </rich:comboBox> 
       <rich:comboBox 
        id="country1" 
        selectFirstOnUpdate="false" 
        defaultLabel="" 
        value="#{accountBean.countryCD}" 
        enableManualInput="false" 
        width="200"> 
        <f:selectItems value="#{accountBean.countryItems}" /> 
       </rich:comboBox> 
       <br/><br/> 
       <a4j:include viewId="#{customerBean.formName}" /> 
      </h:form> 
     </rich:panel> 

    </h:panelGrid> 
    <br/> 
</ui:composition> 

-------------------------- ------------- start.xhtml结束

---------------------------- -----------结束cust_step1.xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:a4j="http://richfaces.org/a4j" 
     xmlns:rich="http://richfaces.org/rich"> 

<head> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7; IE=EmulateIE8" /> 
</head> 

    <div style="position:relative;height:140px"> 
     <h:panelGrid id ="custFrm1" width="750px" columns="4" border="0" cellspacing="0" cellpadding="0"> 

      Customer No: 

      <h:inputText id="customerNo" value="#{customerBean.data.customerno}" size="30" styleClass="inputText"/> 

      <h:outputText id="fnamelbl" value="#{customerBean.fnamelbl}:" size="30"/> 

      <h:inputText id="firstName" value="#{customerBean.data.firstname}" size="30" styleClass="inputText"/> 

      Last Name: 

      <h:inputText id="lastName" value="#{customerBean.data.lastname}" size="30" styleClass="inputText"/> 

      E-Mail: 

      <h:inputText id="eMail" value="#{customerBean.data.emailaddress}" size="30" styleClass="inputText"/> 

      Creation Date: 

      <rich:calendar id="creationDate" value="#{customerBean.data.creationdate}" size="30"/> 

      Country: 

      <rich:comboBox 
       id="country" 
       selectFirstOnUpdate="false" 
       defaultLabel="" 
       value="#{customerBean.countryCD}" 
       enableManualInput="false" 
       width="200" dir="#{customerBean.textDirection}"> 
       <f:selectItems value="#{customerBean.countryItems}" /> 
       <a4j:support event="onselect" reRender="state"/> 
      </rich:comboBox> 

      State: 

      <rich:comboBox 
       id="state" 
       selectFirstOnUpdate="false" 
       defaultLabel="" 
       value="#{customerBean.stateCD}" 
       enableManualInput="false" 
       width="200"> 
       <f:selectItems value="#{customerBean.stateItems}" /> 
       <a4j:support event="onselect" reRender="city"/> 
      </rich:comboBox> 

      City: 

      <rich:comboBox 
       id="city" 
       selectFirstOnUpdate="false" 
       defaultLabel="" 
       value="#{customerBean.cityCD}" 
       enableManualInput="false" 
       width="200"> 
       <f:selectItems value="#{customerBean.cityItems}" /> 
      </rich:comboBox> 

     </h:panelGrid> 
     <BR /><BR /> 
     <h:panelGroup> 
      <h:outputText value=" " /> 
      <h:outputText value="Enter Customer No:" /> 
      <h:inputText id="custNo" value="#{customerBean.custNumberToSearch}" required="true"/> 
      <a4j:commandButton id="retrieveButton" value="#{customerBean.retrieveButtonName}" reRender="custFrm1" styleClass="submitButton" action="#{customerBean.actionSearch}"/> 
      <a4j:commandButton id="newCustButton" value="#{customerBean.newCustButtonName}" reRender="custFrm1" styleClass="submitButton" action="#{customerBean.actionNewCust}"/> 
      <a4j:commandButton id="nextButton" style="float:right" action="next" value="Next &gt;&gt;"/> 
     </h:panelGroup> 
    </div> 

    <rich:hotKey key="alt+n" 
    handler="#{rich:element('nextButton')}.click(); 
    event.stopPropagation();event.preventDefault(); 
    return false;"/> 
    <rich:hotKey selector="#custNo" key="return" 
    handler="#{rich:element('retrieveButton')}.click(); 
    event.stopPropagation();event.preventDefault(); 
    return false;"/> 

</ui:composition> 

--------------------------- ------------结束cust_step1.xhtml

---------------开始cust_step2.xhtml的

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:a4j="http://richfaces.org/a4j" 
     xmlns:rich="http://richfaces.org/rich"> 

<head> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7; IE=EmulateIE8" /> 
</head> 

    <div style="position:relative;height:140px">  
     <h:panelGroup> 
      <rich:simpleTogglePanel switchType="client" label="Customer Properties"> 
       <rich:dataTable id="custPropertyData" width="723px" value="#{customerBean.data.customerPropertyList}" 
           var="custPropData" 
           columnClasses="10,10,10,10" 
           onRowMouseOver="this.style.backgroundColor='#B5F3FB'" 
           onRowMouseOut="this.style.backgroundColor='#{a4jSkin.rowBackgroundColor}'" 
           styleClass="table"> 

        <rich:column width="220px"> 
         <f:facet name="header">Property Id</f:facet> 
         <h:outputText id="propertyID" value="#{custPropData.propertyid}" /> 
        </rich:column> 

        <rich:column width="220px"> 
         <f:facet name="header">Property Name</f:facet> 
         <h:outputText id="propertyName" value="#{custPropData.property}" /> 
        </rich:column> 

        <rich:column width="220px"> 
         <f:facet name="header">Property Value</f:facet> 
         <h:inputText id="propertyValue" value="#{custPropData.propertyvalue}" /> 
        </rich:column> 
       </rich:dataTable> 
      </rich:simpleTogglePanel> 
     </h:panelGroup> 
     <BR /><BR /> 
     <h:panelGroup> 
      <a4j:commandButton value="#{customerBean.saveButtonName}" 
           styleClass="submitButton" 
           action="#{customerBean.actionSave}" 
           oncomplete="if(#{customerBean.custSaveFlag == true}) 
              {#{rich:component('successPopup')}.show()} 
              else 
              {#{rich:component('errorPopup')}.show()}"/> 

      <a4j:commandButton 
       value="#{customerBean.storePropButtonName}" 
       styleClass="submitButton" 
       oncomplete="#{rich:component('editPanel')}.show()"> 
       <f:setPropertyActionListener value="#{customerBean}" 
          target="#{customerBean}"/> 
      </a4j:commandButton> 
      <a4j:commandButton id="prevButton" value="&lt;&lt;Previous" style="float:right" immediate="true" action="previous"/> 
     </h:panelGroup> 
    </div> 

    <rich:modalPanel id="successPopup" modal="true" autosized="true" resizeable="false" width="300"> 
     <f:facet name="header"> 
      <h:outputText value="Unicorn" /> 
     </f:facet> 
     <h:panelGrid columns="1" >    
      <h:outputText id="idText" value="#{customerBean.saveSuccessfullMsg}" /> 
      <h:commandButton action="#" onclick="#{rich:component('successPopup')}.hide(); return false;" value="Cancel"/> 
     </h:panelGrid> 
    </rich:modalPanel> 

    <rich:modalPanel id="errorPopup" autosized="true" width="300"> 
     <f:facet name="header"> 
      <h:outputText value="Unicorn" /> 
     </f:facet> 
     <h:panelGrid columns="1" >    
      <h:outputText id="idText1" value="#{customerBean.saveErrorMsg}" /> 
      <h:commandButton action="#" onclick="#{rich:component('errorPopup')}.hide(); return false;" value="Cancel"/> 
     </h:panelGrid> 
    </rich:modalPanel> 

    <rich:hotKey key="alt+b" 
    handler="#{rich:element('prevButton')}.click(); 
    event.stopPropagation();event.preventDefault(); 
    return false;"/> 

    <rich:modalPanel id="editPanel" autosized="true" width="450"> 
     <f:facet name="header"> 
      <h:outputText value="Save Customer Property" /> 
     </f:facet> 

     <f:facet name="controls"> 
      <h:panelGroup> 
       <rich:componentControl for="editPanel" attachTo="hidelink" operation="hide" event="onclick" /> 
      </h:panelGroup> 
     </f:facet> 

<h:form id="form1"> 
<rich:messages style="color:red;"></rich:messages> 
      <h:panelGrid columns="1"> 
       <a4j:outputPanel ajaxRendered="true"> 
        <h:panelGrid columns="2"> 
         <h:outputText value="Property Name" /> 
         <rich:comboBox 
           id="propname" 
           selectFirstOnUpdate="false" 
           defaultLabel="" 
           value="#{customerBean.propertyName}" 
           enableManualInput="false" 
           width="250"> 
          <f:selectItems value="#{customerBean.propertyItems}" /> 
         </rich:comboBox> 
         <h:outputText value="Property Value" /> 
         <h:inputText id="propval" value="#{customerBean.propertyValue}"/> 
        </h:panelGrid> 
        <rich:message showSummary="true" showDetail="false" for="propname" /> 
       </a4j:outputPanel> 
       <a4j:commandButton value="Store" 
        action="#{customerBean.actionPropertyStore}" 
        reRender="custPropertyData" 
        oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('editPanel')}.hide();"/> 
      </h:panelGrid> 
</h:form> 
    </rich:modalPanel> 
</html> 

--------------- cust_step2结束。 XHTML

---------------开始面-的Config.xml

<?xml version="1.0" encoding="UTF-8"?> 

<faces-config version="1.2" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xi="http://www.w3.org/2001/XInclude" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"> 

    <application> 
     <view-handler>com.sun.facelets.FaceletViewHandler</view-handler> 
    </application> 

    <lifecycle> 
     <phase-listener>mypackage.ActionListener</phase-listener> 
    </lifecycle> 

    <managed-bean> 
     <managed-bean-name>skinBean</managed-bean-name> 
     <managed-bean-class>mypackage.SkinBean</managed-bean-class> 
     <managed-bean-scope>session</managed-bean-scope>   
    </managed-bean> 

    <managed-bean> 
     <managed-bean-name>customerBean</managed-bean-name> 
     <managed-bean-class>mypackage.CustomerBean</managed-bean-class> 
     <managed-bean-scope>request</managed-bean-scope>   
    </managed-bean> 

    <managed-bean> 
     <managed-bean-name>accountBean</managed-bean-name> 
     <managed-bean-class>mypackage.AccountBean</managed-bean-class> 
     <managed-bean-scope>request</managed-bean-scope>   
    </managed-bean> 

    <navigation-rule> 
     <from-view-id>/Customer/cust_step1.xhtml</from-view-id> 
     <navigation-case> 
      <from-outcome>next</from-outcome> 
      <to-view-id>/Customer/cust_step2.xhtml</to-view-id> 
     </navigation-case> 
    </navigation-rule> 
    <navigation-rule> 
     <from-view-id>/Customer/cust_step2.xhtml</from-view-id> 
     <navigation-case> 
      <from-outcome>previous</from-outcome> 
      <to-view-id>/Customer/cust_step1.xhtml</to-view-id> 
     </navigation-case> 
    </navigation-rule> 
</faces-config> 

---------------完的面孔 - Config.xml

+0

哪里是你的代码抛出的错误? –

回答

0

你写了

<a4j:commandButton id="nextButton" style="float:right" action="next" value="Next &gt;&gt;"/> 

代替上面

<a4j:commandButton id="nextButton" style="float:right" action="#{customerBean.nextAction}" value="Next"/>