Changes to basic sample for reproducing the issue:
Index: src/main/java/org/icefaces/demo/basic/Basic.java
===================================================================
— src/main/java/org/icefaces/demo/basic/Basic.java (revision 28153)
+++ src/main/java/org/icefaces/demo/basic/Basic.java (working copy)
@@ -39,4 +39,13 @@
return Long.toString(System.currentTimeMillis());
}
+ private String testName = "HELLO £¢≠üå", testComments = "HELLO £¢≠üå";
+ public String getTestName()
{ System.out.println("getTestName: " + testName); return testName; }
+ public void setTestName(String tn)
{
+ System.out.println("setTestName: " + testName);}
+ public String getTestComments()
{ System.out.println("getTestComments: " + testComments); return testComments; }
+ public void setTestComments(String tc)
{
+ testComments = tc;
+ System.out.println(" setTestComments: " + testComments); }
+
}
\ No newline at end of file
Index: src/main/webapp/nonicefaces.xhtml
===================================================================
— src/main/webapp/nonicefaces.xhtml (revision 28153)
+++ src/main/webapp/nonicefaces.xhtml (working copy)
@@ -58,6 +58,8 @@
<h:outputLink id="lnk1" value="icefaces.jsf">ICEfaces Page</h:outputLink>
<h:outputLink id="lnk2" value="nonicefaces.jsf">Stock JSF Page</h:outputLink>
+ <h:inputText value="#
{basic.testName}" />
+ <h:inputTextarea value="#{basic.testComments}" />
<h:messages/>
</h:form>
Index: src/main/webapp/icefaces.xhtml
===================================================================
— src/main/webapp/icefaces.xhtml (revision 28153)
+++ src/main/webapp/icefaces.xhtml (working copy)
@@ -64,6 +64,8 @@
<br/>
<h:outputText id="time" value="#{basic.time}"/>
<br/>
+ <h:inputText value="#{basic.testName}
" />
+ <h:inputTextarea value="#
{basic.testComments}
" />
<h:messages/>
</h:form>
applyBrowserChanges() is now escaping the textarea value upon input. The escaping of the textarea upon output cannot be altered as it appears to ICEfaces as a standard text node, which is always escaped to guard against cross-site scripting.