Author: knopp
Date: Sat Nov  4 10:16:52 2006
New Revision: 471242

URL: http://svn.apache.org/viewvc?view=rev&rev=471242
Log:
Fix for encoding components and header contributions

Modified:
    
incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/AjaxRequestTarget.java

Modified: 
incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/AjaxRequestTarget.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/AjaxRequestTarget.java?view=diff&rev=471242&r1=471241&r2=471242
==============================================================================
--- 
incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/AjaxRequestTarget.java 
(original)
+++ 
incubator/wicket/trunk/wicket/src/main/java/wicket/ajax/AjaxRequestTarget.java 
Sat Nov  4 10:16:52 2006
@@ -347,10 +347,10 @@
                // render any associated headers of the component
                respondHeaderContribution(response, component);
 
-               Response encodingResponse = new StringResponse();
+               Response componentResponse = new StringResponse();
                try
                {
-                       RequestCycle.get().setResponse(encodingResponse);
+                       RequestCycle.get().setResponse(componentResponse);
                        
                        component.renderComponent();
                }
@@ -366,14 +366,16 @@
                response.write("<component id=\"");
                response.write(markupId);
                response.write("\" ");
-               if (needsEncoding(encodingResponse.toString()))
+               String data = componentResponse.toString();
+               if (needsEncoding(componentResponse.toString()))
                {
                        response.write(" encoding=\"");
                        response.write(getEncodingName());
                        response.write("\" ");
+                       data = encode(data);
                }
                response.write("><![CDATA[");
-               response.write(encodingResponse.toString());
+               response.write(data);
                response.write("]]></component>");
        }
 
@@ -397,21 +399,24 @@
                        RequestCycle.get().setResponse(response);
                }
 
-               if (encodingResponse.toString().length() != 0)
+               String data = encodingResponse.toString();
+               
+               if (data.length() != 0)
                {
-                       response.write("<header-contribution");
-
+                       response.write("<header-contribution");                 
+                       
                        if (needsEncoding(encodingResponse.toString()))
                        {
                                response.write(" encoding=\"");
                                response.write(getEncodingName());
                                response.write("\" ");
+                               data = encode(data);
                        }
 
                        // we need to write response as CDATA and parse it on 
client,
                        // because konqueror crashes when there is a <script> 
element
                        response.write("><![CDATA[<head 
xmlns:wicket=\"http://wicket.sourceforge.net\";>");
-                       response.write(encodingResponse.toString());
+                       response.write(data);
                        response.write("</head>]]>");
                        response.write("</header-contribution>");
                }


Reply via email to