You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by sc...@apache.org on 2005/08/02 20:06:58 UTC
svn commit: r227053 - in
/myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html:
HtmlResponseWriterImpl.java util/HTMLEncoder.java util/UnicodeEncoder.java
Author: schof
Date: Tue Aug 2 11:06:54 2005
New Revision: 227053
URL: http://svn.apache.org/viewcvs?rev=227053&view=rev
Log:
Reverted patch for MYFACES-272. This patch was causing "double output" of the HTML in the simple examples.
Modified:
myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java
myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/util/HTMLEncoder.java
myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/util/UnicodeEncoder.java
Modified: myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java
URL: http://svn.apache.org/viewcvs/myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java?rev=227053&r1=227052&r2=227053&view=diff
==============================================================================
--- myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java (original)
+++ myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java Tue Aug 2 11:06:54 2005
@@ -46,7 +46,6 @@
private static final String DEFAULT_CONTENT_TYPE = "text/html";
private static final String DEFAULT_CHARACTER_ENCODING = "ISO-8859-1";
- private static final String UTF8 = "UTF-8";
private boolean _writeDummyForm = false;
private Set _dummyFormParams = null;
@@ -83,13 +82,13 @@
_contentType = contentType;
if (_contentType == null)
{
- if (log.isDebugEnabled()) log.debug("No content type given, using default content type " + DEFAULT_CONTENT_TYPE);
+ if (log.isInfoEnabled()) log.debug("No content type given, using default content type " + DEFAULT_CONTENT_TYPE);
_contentType = DEFAULT_CONTENT_TYPE;
}
_characterEncoding = characterEncoding;
if (_characterEncoding == null)
{
- if (log.isDebugEnabled()) log.debug("No character encoding given, using default character encoding " + DEFAULT_CHARACTER_ENCODING);
+ if (log.isInfoEnabled()) log.debug("No character encoding given, using default character encoding " + DEFAULT_CHARACTER_ENCODING);
_characterEncoding = DEFAULT_CHARACTER_ENCODING;
}
}
@@ -265,7 +264,7 @@
_writer.write(' ');
_writer.write(name);
_writer.write("=\"");
- _writer.write(HTMLEncoder.encode(strValue, false, false, !UTF8.equals(_characterEncoding)));
+ _writer.write(HTMLEncoder.encode(strValue, false, false));
_writer.write('"');
}
}
@@ -287,7 +286,7 @@
_writer.write("=\"");
if (strValue.toLowerCase().startsWith("javascript:"))
{
- _writer.write(HTMLEncoder.encode(strValue, false, false, !UTF8.equals(_characterEncoding)));
+ _writer.write(HTMLEncoder.encode(strValue, false, false));
}
else
{
@@ -348,13 +347,11 @@
if (isScriptOrStyle())
{
- // Don't bother encoding anything if chosen character encoding is UTF-8
- if (UTF8.equals(_characterEncoding)) _writer.write(strValue);
- else _writer.write(UnicodeEncoder.encode(strValue) );
+ _writer.write(UnicodeEncoder.encode(strValue, false, false));
}
else
{
- _writer.write(HTMLEncoder.encode(strValue, false, false, !UTF8.equals(_characterEncoding)));
+ _writer.write(HTMLEncoder.encode(strValue, false, false));
}
}
@@ -374,23 +371,21 @@
if (isScriptOrStyle())
{
String strValue = new String(cbuf, off, len);
- // Don't bother encoding anything if chosen character encoding is UTF-8
- if (UTF8.equals(_characterEncoding)) _writer.write(strValue);
- else _writer.write(UnicodeEncoder.encode(strValue) );
+ _writer.write(UnicodeEncoder.encode(strValue, false, false));
}
else if (isTextarea())
{
// For textareas we must *not* map successive spaces to   or Newlines to <br/>
// TODO: Make HTMLEncoder support char arrays directly
String strValue = new String(cbuf, off, len);
- _writer.write(HTMLEncoder.encode(strValue, false, false, !UTF8.equals(_characterEncoding)));
+ _writer.write(HTMLEncoder.encode(strValue, false, false));
}
else
{
// We map successive spaces to and Newlines to <br/>
// TODO: Make HTMLEncoder support char arrays directly
String strValue = new String(cbuf, off, len);
- _writer.write(HTMLEncoder.encode(strValue, true, true, !UTF8.equals(_characterEncoding)));
+ _writer.write(HTMLEncoder.encode(strValue, true, true));
}
}
@@ -434,9 +429,7 @@
{
closeStartTagIfNecessary();
String strValue = new String(cbuf, off, len);
- // Don't bother encoding anything if chosen character encoding is UTF-8
- if (UTF8.equals(_characterEncoding)) _writer.write(strValue);
- else _writer.write(UnicodeEncoder.encode(strValue) );
+ _writer.write(UnicodeEncoder.encode(strValue, false, false));
}
public void write(int c) throws IOException
@@ -449,9 +442,7 @@
{
closeStartTagIfNecessary();
String strValue = new String(cbuf);
- // Don't bother encoding anything if chosen character encoding is UTF-8
- if (UTF8.equals(_characterEncoding)) _writer.write(strValue);
- else _writer.write(UnicodeEncoder.encode(strValue) );
+ _writer.write(UnicodeEncoder.encode(strValue, false, false));
}
public void write(String str) throws IOException
@@ -461,9 +452,7 @@
// in such case, do not call down the writer chain
if (str.length() > 0)
{
- // Don't bother encoding anything if chosen character encoding is UTF-8
- if (UTF8.equals(_characterEncoding)) _writer.write(str);
- else _writer.write(UnicodeEncoder.encode(str) );
+ _writer.write(UnicodeEncoder.encode(str, false, false));
}
}
@@ -471,9 +460,7 @@
{
closeStartTagIfNecessary();
String strValue = str.substring(off, off+len);
- // Don't bother encoding anything if chosen character encoding is UTF-8
- if (UTF8.equals(_characterEncoding)) _writer.write(str);
- else _writer.write(UnicodeEncoder.encode(str) );
+ _writer.write(UnicodeEncoder.encode(strValue, false, false));
}
// DummyFormResponseWriter support
Modified: myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/util/HTMLEncoder.java
URL: http://svn.apache.org/viewcvs/myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/util/HTMLEncoder.java?rev=227053&r1=227052&r2=227053&view=diff
==============================================================================
--- myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/util/HTMLEncoder.java (original)
+++ myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/util/HTMLEncoder.java Tue Aug 2 11:06:54 2005
@@ -40,25 +40,14 @@
}
/**
- * Variant of {@link #encode} where encodeNbsp is true.
- */
- public static String encode (String string, boolean encodeNewline, boolean encodeSubsequentBlanksToNbsp)
- {
- return encode(string, encodeNewline, true);
- }
-
-
- /**
* Encodes the given string, so that it can be used within a html page.
* @param string the string to convert
* @param encodeNewline if true newline characters are converted to <br>'s
* @param encodeSubsequentBlanksToNbsp if true subsequent blanks are converted to &nbsp;'s
- * @param encodeNonLatin if true encode non-latin characters as numeric character references
*/
public static String encode (String string,
boolean encodeNewline,
- boolean encodeSubsequentBlanksToNbsp,
- boolean encodeNonLatin)
+ boolean encodeSubsequentBlanksToNbsp)
{
if (string == null)
{
@@ -94,13 +83,13 @@
break;
//german umlauts
- case '\u00E4' : if (encodeNonLatin) app = "ä"; break;
- case '\u00C4' : if (encodeNonLatin) app = "Ä"; break;
- case '\u00F6' : if (encodeNonLatin) app = "ö"; break;
- case '\u00D6' : if (encodeNonLatin) app = "Ö"; break;
- case '\u00FC' : if (encodeNonLatin) app = "ü"; break;
- case '\u00DC' : if (encodeNonLatin) app = "Ü"; break;
- case '\u00DF' : if (encodeNonLatin) app = "ß"; break;
+ case '\u00E4' : app = "ä"; break;
+ case '\u00C4' : app = "Ä"; break;
+ case '\u00F6' : app = "ö"; break;
+ case '\u00D6' : app = "Ö"; break;
+ case '\u00FC' : app = "ü"; break;
+ case '\u00DC' : app = "Ü"; break;
+ case '\u00DF' : app = "ß"; break;
//misc
//case 0x80: app = "€"; break; sometimes euro symbol is ascii 128, should we suport it?
@@ -110,7 +99,7 @@
case '\u00A0': app = " "; break;
default:
- if (encodeNonLatin && ((int)c) >= 0x80)
+ if (((int)c) >= 0x80)
{
//encode all non basic latin characters
app = "&#" + ((int)c) + ";";
Modified: myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/util/UnicodeEncoder.java
URL: http://svn.apache.org/viewcvs/myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/util/UnicodeEncoder.java?rev=227053&r1=227052&r2=227053&view=diff
==============================================================================
--- myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/util/UnicodeEncoder.java (original)
+++ myfaces/share/trunk/src/java/org/apache/myfaces/renderkit/html/util/UnicodeEncoder.java Tue Aug 2 11:06:54 2005
@@ -19,15 +19,35 @@
/**
- * Converts characters out of latin-1 set in a string to numeric character references.
+ * Converts Strings so that they can be used within HTML-Code.
*/
public abstract class UnicodeEncoder
{
/**
+ * Variant of {@link #encode} where encodeNewline is false and encodeNbsp is true.
+ */
+ public static String encode (String string)
+ {
+ return encode(string, false, true);
+ }
+
+ /**
+ * Variant of {@link #encode} where encodeNbsp is true.
+ */
+ public static String encode (String string, boolean encodeNewline)
+ {
+ return encode(string, encodeNewline, true);
+ }
+
+ /**
* Encodes the given string, so that it can be used within a html page.
* @param string the string to convert
+ * @param encodeNewline if true newline characters are converted to <br>'s
+ * @param encodeSubsequentBlanksToNbsp if true subsequent blanks are converted to &nbsp;'s
*/
- public static String encode (String string)
+ public static String encode (String string,
+ boolean encodeNewline,
+ boolean encodeSubsequentBlanksToNbsp)
{
if (string == null)
{