Author: ivaynberg
Date: Fri Sep 26 23:42:37 2008
New Revision: 699570
URL: http://svn.apache.org/viewvc?rev=699570&view=rev
Log:
WICKET-1376
Modified:
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
Modified:
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java?rev=699570&r1=699569&r2=699570&view=diff
==============================================================================
---
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
(original)
+++
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
Fri Sep 26 23:42:37 2008
@@ -367,7 +367,10 @@
}
else if (component instanceof Page)
{
- throw new IllegalArgumentException("component cannot be
a page");
+ if (component != page)
+ {
+ throw new IllegalArgumentException("component
cannot be a page");
+ }
}
else if (component instanceof AbstractRepeater)
{
@@ -522,6 +525,17 @@
*/
public final void respond(final RequestCycle requestCycle)
{
+ final WebResponse response =
(WebResponse)requestCycle.getResponse();
+
+ if (markupIdToComponent.values().contains(page))
+ {
+ // the page itself has been added to the request
target, we simply issue a redirect back
+ // to the page
+ final String url = requestCycle.urlFor(page).toString();
+ response.redirect(url);
+ return;
+ }
+
Iterator it = respondListeners.iterator();
while (it.hasNext())
{
@@ -535,7 +549,6 @@
final String encoding =
app.getRequestCycleSettings().getResponseRequestEncoding();
// Set content type based on markup type for page
- final WebResponse response =
(WebResponse)requestCycle.getResponse();
response.setCharacterEncoding(encoding);
response.setContentType("text/xml; charset=" + encoding);