Remove <context-param> <param-name>javax.faces.CONFIG_FILES</param-name> <param-value>/WEB-INF/faces-config.xml</param-value> </context-param>
and the problem will go away. Dennis Byrne >-----Original Message----- >From: Anthony Hong [mailto:[EMAIL PROTECTED] >Sent: Friday, March 17, 2006 01:03 AM >To: 'MyFaces Discussion' >Subject: Re: Phase Listener entered twice > >My 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"> > > <display-name>JSF Facelets Trail</display-name> > > <!-- Use Documents Saved as *.xhtml --> > <context-param> > <param-name>javax.faces.DEFAULT_SUFFIX</param-name> > <param-value>.xhtml</param-value> > </context-param> > > <context-param> > <param-name>facelets.LIBRARIES</param-name> > <param-value> > > /WEB-INF/facelets/tomahawk.taglib.xml;/WEB-INF/facelets/sandbox.taglib.xml;/WEB-INF/facelets/fsds.taglib.xml; > </param-value> > </context-param> > > > <!-- Special Debug Output for Development --> > <context-param> > <param-name>facelets.DEVELOPMENT</param-name> > <param-value>true</param-value> > </context-param> > > <context-param> > <param-name>facelets.REFRESH_PERIOD</param-name> > <param-value>2</param-value> > </context-param> > > <context-param> > <param-name>javax.faces.CONFIG_FILES</param-name> > <param-value>/WEB-INF/faces-config.xml</param-value> > </context-param> > > <context-param> > <param-name>javax.faces.STATE_SAVING_METHOD</param-name> > <param-value>client</param-value> > </context-param> > > <context-param> > <description> > This parameter tells MyFaces if javascript code should be >allowed in the > rendered HTML output. > If javascript is allowed, command_link anchors will have >javascript code > that submits the corresponding form. > If javascript is not allowed, the state saving info and >nested parameters > will be added as url parameters. > Default: "true" > </description> > <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> > <description> > If true, rendered HTML code will be formatted, so that it >is "human readable". > i.e. additional line separators and whitespace will be >written, that do not > influence the HTML code. > Default: "true" > </description> > <param-name>org.apache.myfaces.PRETTY_HTML</param-name> > <param-value>true</param-value> > </context-param> > > <context-param> > <description> > If true, a javascript function will be rendered that is >able to restore the > former vertical scroll on every request. Convenient >feature if you have pages > with long lists and you do not want the browser page to >always jump to the top > if you trigger a link or button action that stays on the same page. > Default: "false" > </description> > <param-name>org.apache.myfaces.AUTO_SCROLL</param-name> > <param-value>true</param-value> > </context-param> > > <filter> > <filter-name>extensionsFilter</filter-name> > > <filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class> > <init-param> > <description>Set the size limit for uploaded files. > Format: 10 - 10 bytes > 10k - 10 KB > 10m - 10 MB > 1g - 1 GB > </description> > <param-name>uploadMaxFileSize</param-name> > <param-value>2m</param-value> > </init-param> > <init-param> > <description>Set the threshold size - files > below this limit are stored in memory, files above > this limit are stored on disk. > > Format: 10 - 10 bytes > 10k - 10 KB > 10m - 10 MB > 1g - 1 GB > </description> > <param-name>uploadThresholdSize</param-name> > <param-value>64k</param-value> > </init-param> > <!-- <init-param> > <param-name>uploadRepositoryPath</param-name> > <param-value>/temp</param-value> > <description>Set the path where the intermediary files >will be stored. > </description> > </init-param>--> > </filter> > > <filter-mapping> > <filter-name>extensionsFilter</filter-name> > <url-pattern>*.jsf</url-pattern> > </filter-mapping> > <filter-mapping> > <filter-name>extensionsFilter</filter-name> > <url-pattern>/faces/*</url-pattern> > </filter-mapping> > > <listener> > > <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class> > </listener> > > <!-- Faces Servlet --> > <servlet> > <servlet-name>Faces Servlet</servlet-name> > <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> > <load-on-startup>1</load-on-startup> > </servlet> > > <servlet> > <servlet-name>Upload Servlet</servlet-name> > <servlet-class>upload.UploadServlet</servlet-class> > </servlet> > > <servlet-mapping> > <servlet-name>Upload Servlet</servlet-name> > <url-pattern>upload.do</url-pattern> > </servlet-mapping> > > <!-- extension mapping --> > <servlet-mapping> > <servlet-name>Faces Servlet</servlet-name> > <url-pattern>*.jsf</url-pattern> > </servlet-mapping> > > <welcome-file-list> > <welcome-file>index.jsf</welcome-file> > </welcome-file-list> > ></web-app> > > >JSF Faces configuration: > ><?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> > > <application> > <locale-config> > <default-locale>en</default-locale> > <supported-locale>zh</supported-locale> > </locale-config> > <message-bundle>language.MemberSite</message-bundle> > <view-handler> > com.sun.facelets.FaceletViewHandler > </view-handler> > <navigation-handler>Navigator</navigation-handler> > </application> > > <lifecycle> > <phase-listener>ajax.AjaxListener</phase-listener> > </lifecycle> > > <converter> > <converter-id>DebtorTypeTagConverter</converter-id> > > <converter-class>com.fsds.jsf.convertor.DebtorTypeTagConverter</converter-class> > </converter> > > <managed-bean> > <managed-bean-name>LifeCycleBean</managed-bean-name> > <managed-bean-class>com.fsds.LifeCycleBean</managed-bean-class> > <managed-bean-scope>request</managed-bean-scope> > </managed-bean> > > <!-- our NumberBean we just created --> > <managed-bean> > <managed-bean-name>NumberBean</managed-bean-name> > <managed-bean-class>tutorial.NumberBean</managed-bean-class> > <managed-bean-scope>session</managed-bean-scope> > <managed-property> > <property-name>min</property-name> > <value>1</value> > </managed-property> > <managed-property> > <property-name>max</property-name> > <value>10</value> > </managed-property> > </managed-bean> > > <managed-bean> > <managed-bean-name>PageUtil</managed-bean-name> > <managed-bean-class>com.fsds.util.PageUtil</managed-bean-class> > <managed-bean-scope>session</managed-bean-scope> > </managed-bean> > > <managed-bean> > <managed-bean-name>DebtorController</managed-bean-name> > > <managed-bean-class>com.fsds.debtor.DebtorController</managed-bean-class> > <managed-bean-scope>session</managed-bean-scope> > </managed-bean> > > <!-- going from guess.xhtml to response.xhtml --> > <navigation-rule> > <from-view-id>/number/guess.xhtml</from-view-id> > <navigation-case> > <from-outcome>success</from-outcome> > <to-view-id>/number/response.xhtml</to-view-id> > <redirect/> > </navigation-case> > </navigation-rule> > > <!-- going from response.xhtml to guess.xhtml --> > <navigation-rule> > <from-view-id>/number/response.xhtml</from-view-id> > <navigation-case> > <from-outcome>success</from-outcome> > <to-view-id>/number/guess.xhtml</to-view-id> > <redirect/> > </navigation-case> > </navigation-rule> > > <navigation-rule> > <from-view-id>/template/menu.xhtml</from-view-id> > <navigation-case> > <from-outcome>main</from-outcome> > <to-view-id>/main.xhtml</to-view-id> > </navigation-case> > </navigation-rule> > > <navigation-rule> > <description>Debtor Page List navigation rule</description> > <from-view-id>/debtor/debtor.xhtml</from-view-id> > <navigation-case> > <from-outcome>create</from-outcome> > <to-view-id>/debtor/debtor-create.xhtml</to-view-id> > </navigation-case> > <navigation-case> > <from-outcome>update</from-outcome> > <to-view-id>/debtor/debtor-update.xhtml</to-view-id> > </navigation-case> > </navigation-rule> > > <navigation-rule> > <description>Create Debtor Page navigation rule</description> > <from-view-id>/debtor/debtor-create.xhtml</from-view-id> > <navigation-case> > <from-outcome>success</from-outcome> > <to-view-id>/debtor/debtor-update.xhtml</to-view-id> > </navigation-case> > <navigation-case> > <from-outcome>error</from-outcome> > <to-view-id>/debtor/debtor-create.xhtml</to-view-id> > </navigation-case> > <navigation-case> > <from-outcome>discard</from-outcome> > <to-view-id>/debtor/debtor.xhtml</to-view-id> > </navigation-case> > </navigation-rule> > > <navigation-rule> > <description>Update Debtor Page navigation rule</description> > <from-view-id>/debtor/debtor-update.xhtml</from-view-id> > <navigation-case> > <from-action>#{DebtorController.updateDebtor}</from-action> > <from-outcome>success</from-outcome> > <to-view-id>/debtor/debtor-update.xhtml</to-view-id> > </navigation-case> > <navigation-case> > <from-outcome>discard</from-outcome> > <to-view-id>/debtor/debtor.xhtml</to-view-id> > </navigation-case> > </navigation-rule> > > <navigation-rule> > <from-view-id>*</from-view-id> > <navigation-case> > <from-outcome>indexPage</from-outcome> > <to-view-id>/index.xhtml</to-view-id> > <redirect/> > </navigation-case> > </navigation-rule> > ></faces-config> > > > > >-- > >Anthony Hong >

