Author: rich
Date: Sun Feb 13 20:46:25 2005
New Revision: 153711
URL: http://svn.apache.org/viewcvs?view=rev&rev=153711
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-294 : MyFaces: framework
does not preserve component tree with 'navigateTo'
DRT/BVT: netui drt + drt.myfaces + drt.jsf-ri (WinXP)
BB: self (linux)
Added:
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml
(with props)
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowApplication.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowApplication.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowApplication.java?view=diff&r1=153710&r2=153711
==============================================================================
---
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowApplication.java
(original)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowApplication.java
Sun Feb 13 20:46:25 2005
@@ -132,12 +132,12 @@
public ViewHandler getViewHandler()
{
- return new PageFlowViewHandler( _delegate.getViewHandler() );
+ return _delegate.getViewHandler();
}
public void setViewHandler( ViewHandler handler )
{
- _delegate.setViewHandler( handler );
+ _delegate.setViewHandler( handler instanceof PageFlowViewHandler ?
handler : new PageFlowViewHandler( handler ) );
}
public StateManager getStateManager()
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java?view=diff&r1=153710&r2=153711
==============================================================================
---
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java
(original)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java
Sun Feb 13 20:46:25 2005
@@ -21,6 +21,8 @@
import org.apache.beehive.netui.pageflow.PageFlowController;
import org.apache.beehive.netui.pageflow.PreviousPageInfo;
import org.apache.beehive.netui.pageflow.internal.RequestValues;
+import org.apache.beehive.netui.util.ServletUtils;
+import org.apache.beehive.netui.util.FileUtils;
import javax.faces.application.ViewHandler;
import javax.faces.context.FacesContext;
@@ -128,7 +130,7 @@
return viewRoot;
}
- private static void savePreviousPageInfo( HttpServletRequest request,
String viewId, UIViewRoot viewRoot )
+ private static void savePreviousPageInfo( HttpServletRequest request,
String viewID, UIViewRoot viewRoot )
{
//
// Save the current view state in the PreviousPageInfo structure of
the current page flow.
@@ -137,11 +139,20 @@
{
PageFlowController curPageFlow = PageFlowUtils.getCurrentPageFlow(
request );
- if ( curPageFlow != null && !
curPageFlow.isPreviousPageInfoDisabled()
- && viewId.equals( curPageFlow.getCurrentForwardPath() ) )
+ if ( curPageFlow != null && !
curPageFlow.isPreviousPageInfoDisabled() )
{
- PreviousPageInfo prevPageInfo =
curPageFlow.getCurrentPageInfo();
- prevPageInfo.setClientState( viewRoot );
+ //
+ // Only save the previous page info if the JSF view-ID is the
same as the current forward path.
+ // Note that we strip the file extension from the view-ID --
different JSF implementations give
+ // us different things (foo.jsp vs. foo.faces).
+ //
+ viewID = FileUtils.stripFileExtension( viewID );
+ String currentForwardPath = FileUtils.stripFileExtension(
curPageFlow.getCurrentForwardPath() );
+ if ( viewID.equals( currentForwardPath ) )
+ {
+ PreviousPageInfo prevPageInfo =
curPageFlow.getCurrentPageInfo();
+ prevPageInfo.setClientState( viewRoot );
+ }
}
}
}
Added:
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml?view=auto&rev=153711
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml
(added)
+++
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml
Sun Feb 13 20:46:25 2005
@@ -0,0 +1,747 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>RestorePreviousPage</ses:sessionName>
+ <ses:tester>rich</ses:tester>
+ <ses:startDate>13 Feb 2005, 07:51:44.652 PM MST</ses:startDate>
+ <ses:description>Test of restoring the component tree of a JSF page when
returning to it through navigateTo=Jpf.NavigateTo.currentPage or
navigateTo=Jpf.NavigateTo.previousPage.</ses:description>
+ <ses:tests>
+ <ses:test>
+ <ses:testNumber>1</ses:testNumber>
+ <ses:request>
+ <ses:protocol>HTTP</ses:protocol>
+ <ses:protocolVersion>1.1</ses:protocolVersion>
+ <ses:host>localhost</ses:host>
+ <ses:port>8080</ses:port>
+ <ses:uri>/jsfWeb/restorePreviousPage/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-charset</ses:name>
+ <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-encoding</ses:name>
+ <ses:value>gzip,deflate</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-language</ses:name>
+ <ses:value>en-us,en;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>connection</ses:name>
+ <ses:value>keep-alive</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>cookie</ses:name>
+
<ses:value>JSESSIONID=339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>keep-alive</ses:name>
+ <ses:value>300</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value>
+ </ses:header>
+ </ses:headers>
+ </ses:request>
+ <ses:response>
+ <ses:statusCode>200</ses:statusCode>
+ <ses:reason/>
+ <ses:responseBody><html>
+ <head>
+ </head>
+ <body>
+
+ <form id="_id0" name="_id0" method="post"
action="/jsfWeb/restorePreviousPage/page1.faces"
enctype="application/x-www-form-urlencoded">
+ text: <input id="_id0:_id1" name="_id0:_id1" type="text"
value=""/>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return
false;" id="_id0:_id2">stay here, using navigateTo (state is restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';document.forms['_id0'].submit();return
false;" id="_id0:_id3">stay here, using a path (state is not restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';document.forms['_id0'].submit();return
false;" id="_id0:_id4">go to page 2</a>
+ <input type="hidden" name="_id0_SUBMIT" value="1"/><input
type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+ var f = document.forms['_id0'];
+ f.elements['_id0:_link_hidden_'].value=null;
+ f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+
+ </body>
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>2</ses:testNumber>
+ <ses:request>
+ <ses:protocol>HTTP</ses:protocol>
+ <ses:protocolVersion>1.1</ses:protocolVersion>
+ <ses:host>localhost</ses:host>
+ <ses:port>8080</ses:port>
+ <ses:uri>/jsfWeb/restorePreviousPage/page1.faces</ses:uri>
+ <ses:method>POST</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>_id0:_id1</ses:name>
+ <ses:value>aaa</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>_id0:_link_hidden_</ses:name>
+ <ses:value>_id0:_id2</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>_id0_SUBMIT</ses:name>
+ <ses:value>1</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-charset</ses:name>
+ <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-encoding</ses:name>
+ <ses:value>gzip,deflate</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-language</ses:name>
+ <ses:value>en-us,en;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>connection</ses:name>
+ <ses:value>keep-alive</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-length</ses:name>
+ <ses:value>62</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-type</ses:name>
+ <ses:value>application/x-www-form-urlencoded</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>cookie</ses:name>
+
<ses:value>JSESSIONID=339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>keep-alive</ses:name>
+ <ses:value>300</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>referer</ses:name>
+
<ses:value>http://localhost:8080/jsfWeb/restorePreviousPage/Controller.jpf</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value>
+ </ses:header>
+ </ses:headers>
+ </ses:request>
+ <ses:response>
+ <ses:statusCode>200</ses:statusCode>
+ <ses:reason/>
+ <ses:responseBody><html>
+ <head>
+ </head>
+ <body>
+
+ <form id="_id0" name="_id0" method="post"
action="/jsfWeb/restorePreviousPage/page1.faces"
enctype="application/x-www-form-urlencoded">
+ text: <input id="_id0:_id1" name="_id0:_id1" type="text"
value="aaa"/>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return
false;" id="_id0:_id2">stay here, using navigateTo (state is restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';document.forms['_id0'].submit();return
false;" id="_id0:_id3">stay here, using a path (state is not restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';document.forms['_id0'].submit();return
false;" id="_id0:_id4">go to page 2</a>
+ <input type="hidden" name="_id0_SUBMIT" value="1"/><input
type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+ var f = document.forms['_id0'];
+ f.elements['_id0:_link_hidden_'].value=null;
+ f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+
+ </body>
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>3</ses:testNumber>
+ <ses:request>
+ <ses:protocol>HTTP</ses:protocol>
+ <ses:protocolVersion>1.1</ses:protocolVersion>
+ <ses:host>localhost</ses:host>
+ <ses:port>8080</ses:port>
+ <ses:uri>/jsfWeb/restorePreviousPage/page1.faces</ses:uri>
+ <ses:method>POST</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>_id0:_id1</ses:name>
+ <ses:value>aaa</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>_id0:_link_hidden_</ses:name>
+ <ses:value>_id0:_id3</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>_id0_SUBMIT</ses:name>
+ <ses:value>1</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-charset</ses:name>
+ <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-encoding</ses:name>
+ <ses:value>gzip,deflate</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-language</ses:name>
+ <ses:value>en-us,en;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>connection</ses:name>
+ <ses:value>keep-alive</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-length</ses:name>
+ <ses:value>62</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-type</ses:name>
+ <ses:value>application/x-www-form-urlencoded</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>cookie</ses:name>
+
<ses:value>JSESSIONID=339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>keep-alive</ses:name>
+ <ses:value>300</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>referer</ses:name>
+
<ses:value>http://localhost:8080/jsfWeb/restorePreviousPage/page1.faces</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value>
+ </ses:header>
+ </ses:headers>
+ </ses:request>
+ <ses:response>
+ <ses:statusCode>200</ses:statusCode>
+ <ses:reason/>
+ <ses:responseBody><html>
+ <head>
+ </head>
+ <body>
+
+ <form id="_id0" name="_id0" method="post"
action="/jsfWeb/restorePreviousPage/page1.faces"
enctype="application/x-www-form-urlencoded">
+ text: <input id="_id0:_id1" name="_id0:_id1" type="text"
value=""/>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return
false;" id="_id0:_id2">stay here, using navigateTo (state is restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';document.forms['_id0'].submit();return
false;" id="_id0:_id3">stay here, using a path (state is not restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';document.forms['_id0'].submit();return
false;" id="_id0:_id4">go to page 2</a>
+ <input type="hidden" name="_id0_SUBMIT" value="1"/><input
type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+ var f = document.forms['_id0'];
+ f.elements['_id0:_link_hidden_'].value=null;
+ f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+
+ </body>
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>4</ses:testNumber>
+ <ses:request>
+ <ses:protocol>HTTP</ses:protocol>
+ <ses:protocolVersion>1.1</ses:protocolVersion>
+ <ses:host>localhost</ses:host>
+ <ses:port>8080</ses:port>
+ <ses:uri>/jsfWeb/restorePreviousPage/page1.faces</ses:uri>
+ <ses:method>POST</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>_id0:_id1</ses:name>
+ <ses:value>bbb</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>_id0:_link_hidden_</ses:name>
+ <ses:value>_id0:_id4</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>_id0_SUBMIT</ses:name>
+ <ses:value>1</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-charset</ses:name>
+ <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-encoding</ses:name>
+ <ses:value>gzip,deflate</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-language</ses:name>
+ <ses:value>en-us,en;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>connection</ses:name>
+ <ses:value>keep-alive</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-length</ses:name>
+ <ses:value>62</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-type</ses:name>
+ <ses:value>application/x-www-form-urlencoded</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>cookie</ses:name>
+
<ses:value>JSESSIONID=339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>keep-alive</ses:name>
+ <ses:value>300</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>referer</ses:name>
+
<ses:value>http://localhost:8080/jsfWeb/restorePreviousPage/page1.faces</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value>
+ </ses:header>
+ </ses:headers>
+ </ses:request>
+ <ses:response>
+ <ses:statusCode>200</ses:statusCode>
+ <ses:reason/>
+ <ses:responseBody><html>
+ <head>
+ </head>
+ <body>
+
+ <form id="_id0" name="_id0" method="post"
action="/jsfWeb/restorePreviousPage/page2.faces"
enctype="application/x-www-form-urlencoded">
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id1';document.forms['_id0'].submit();return
false;" id="_id0:_id1">go to page 1, using navigateTo (state is
restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return
false;" id="_id0:_id2">go to page 1, using a path (state is not
restored)</a>
+ <input type="hidden" name="_id0_SUBMIT" value="1"/><input
type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+ var f = document.forms['_id0'];
+ f.elements['_id0:_link_hidden_'].value=null;
+ f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+
+ </body>
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>5</ses:testNumber>
+ <ses:request>
+ <ses:protocol>HTTP</ses:protocol>
+ <ses:protocolVersion>1.1</ses:protocolVersion>
+ <ses:host>localhost</ses:host>
+ <ses:port>8080</ses:port>
+ <ses:uri>/jsfWeb/restorePreviousPage/page2.faces</ses:uri>
+ <ses:method>POST</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>_id0:_link_hidden_</ses:name>
+ <ses:value>_id0:_id1</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>_id0_SUBMIT</ses:name>
+ <ses:value>1</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-charset</ses:name>
+ <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-encoding</ses:name>
+ <ses:value>gzip,deflate</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-language</ses:name>
+ <ses:value>en-us,en;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>connection</ses:name>
+ <ses:value>keep-alive</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-length</ses:name>
+ <ses:value>46</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-type</ses:name>
+ <ses:value>application/x-www-form-urlencoded</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>cookie</ses:name>
+
<ses:value>JSESSIONID=339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>keep-alive</ses:name>
+ <ses:value>300</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>referer</ses:name>
+
<ses:value>http://localhost:8080/jsfWeb/restorePreviousPage/page1.faces</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value>
+ </ses:header>
+ </ses:headers>
+ </ses:request>
+ <ses:response>
+ <ses:statusCode>200</ses:statusCode>
+ <ses:reason/>
+ <ses:responseBody><html>
+ <head>
+ </head>
+ <body>
+
+ <form id="_id0" name="_id0" method="post"
action="/jsfWeb/restorePreviousPage/page1.faces"
enctype="application/x-www-form-urlencoded">
+ text: <input id="_id0:_id1" name="_id0:_id1" type="text"
value="bbb"/>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return
false;" id="_id0:_id2">stay here, using navigateTo (state is restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';document.forms['_id0'].submit();return
false;" id="_id0:_id3">stay here, using a path (state is not restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';document.forms['_id0'].submit();return
false;" id="_id0:_id4">go to page 2</a>
+ <input type="hidden" name="_id0_SUBMIT" value="1"/><input
type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+ var f = document.forms['_id0'];
+ f.elements['_id0:_link_hidden_'].value=null;
+ f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+
+ </body>
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>6</ses:testNumber>
+ <ses:request>
+ <ses:protocol>HTTP</ses:protocol>
+ <ses:protocolVersion>1.1</ses:protocolVersion>
+ <ses:host>localhost</ses:host>
+ <ses:port>8080</ses:port>
+ <ses:uri>/jsfWeb/restorePreviousPage/page1.faces</ses:uri>
+ <ses:method>POST</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>_id0:_id1</ses:name>
+ <ses:value>bbb</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>_id0:_link_hidden_</ses:name>
+ <ses:value>_id0:_id4</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>_id0_SUBMIT</ses:name>
+ <ses:value>1</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-charset</ses:name>
+ <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-encoding</ses:name>
+ <ses:value>gzip,deflate</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-language</ses:name>
+ <ses:value>en-us,en;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>connection</ses:name>
+ <ses:value>keep-alive</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-length</ses:name>
+ <ses:value>62</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-type</ses:name>
+ <ses:value>application/x-www-form-urlencoded</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>cookie</ses:name>
+
<ses:value>JSESSIONID=339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>keep-alive</ses:name>
+ <ses:value>300</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>referer</ses:name>
+
<ses:value>http://localhost:8080/jsfWeb/restorePreviousPage/page2.faces</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value>
+ </ses:header>
+ </ses:headers>
+ </ses:request>
+ <ses:response>
+ <ses:statusCode>200</ses:statusCode>
+ <ses:reason/>
+ <ses:responseBody><html>
+ <head>
+ </head>
+ <body>
+
+ <form id="_id0" name="_id0" method="post"
action="/jsfWeb/restorePreviousPage/page2.faces"
enctype="application/x-www-form-urlencoded">
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id1';document.forms['_id0'].submit();return
false;" id="_id0:_id1">go to page 1, using navigateTo (state is
restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return
false;" id="_id0:_id2">go to page 1, using a path (state is not
restored)</a>
+ <input type="hidden" name="_id0_SUBMIT" value="1"/><input
type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+ var f = document.forms['_id0'];
+ f.elements['_id0:_link_hidden_'].value=null;
+ f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+
+ </body>
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ <ses:test>
+ <ses:testNumber>7</ses:testNumber>
+ <ses:request>
+ <ses:protocol>HTTP</ses:protocol>
+ <ses:protocolVersion>1.1</ses:protocolVersion>
+ <ses:host>localhost</ses:host>
+ <ses:port>8080</ses:port>
+ <ses:uri>/jsfWeb/restorePreviousPage/page2.faces</ses:uri>
+ <ses:method>POST</ses:method>
+ <ses:parameters>
+ <ses:parameter>
+ <ses:name>_id0:_link_hidden_</ses:name>
+ <ses:value>_id0:_id2</ses:value>
+ </ses:parameter>
+ <ses:parameter>
+ <ses:name>_id0_SUBMIT</ses:name>
+ <ses:value>1</ses:value>
+ </ses:parameter>
+ </ses:parameters>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:cookie>
+ </ses:cookies>
+ <ses:headers>
+ <ses:header>
+ <ses:name>accept</ses:name>
+
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-charset</ses:name>
+ <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-encoding</ses:name>
+ <ses:value>gzip,deflate</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>accept-language</ses:name>
+ <ses:value>en-us,en;q=0.5</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>connection</ses:name>
+ <ses:value>keep-alive</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-length</ses:name>
+ <ses:value>46</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>content-type</ses:name>
+ <ses:value>application/x-www-form-urlencoded</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>cookie</ses:name>
+
<ses:value>JSESSIONID=339C4B87352542C8B6D134B39B81447D</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>host</ses:name>
+ <ses:value>localhost:8080</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>keep-alive</ses:name>
+ <ses:value>300</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>referer</ses:name>
+
<ses:value>http://localhost:8080/jsfWeb/restorePreviousPage/page1.faces</ses:value>
+ </ses:header>
+ <ses:header>
+ <ses:name>user-agent</ses:name>
+ <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value>
+ </ses:header>
+ </ses:headers>
+ </ses:request>
+ <ses:response>
+ <ses:statusCode>200</ses:statusCode>
+ <ses:reason/>
+ <ses:responseBody><html>
+ <head>
+ </head>
+ <body>
+
+ <form id="_id0" name="_id0" method="post"
action="/jsfWeb/restorePreviousPage/page1.faces"
enctype="application/x-www-form-urlencoded">
+ text: <input id="_id0:_id1" name="_id0:_id1" type="text"
value=""/>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return
false;" id="_id0:_id2">stay here, using navigateTo (state is restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';document.forms['_id0'].submit();return
false;" id="_id0:_id3">stay here, using a path (state is not restored)</a>
+ <br/>
+ <a href="#"
onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';document.forms['_id0'].submit();return
false;" id="_id0:_id4">go to page 2</a>
+ <input type="hidden" name="_id0_SUBMIT" value="1"/><input
type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+ var f = document.forms['_id0'];
+ f.elements['_id0:_link_hidden_'].value=null;
+ f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+
+ </body>
+</html></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>13 Feb 2005, 07:52:09.748 PM MST</ses:endDate>
+ <ses:testCount>7</ses:testCount>
+</ses:recorderSession>
Propchange:
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml
------------------------------------------------------------------------------
svn:eol-style = native