You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-dev@jakarta.apache.org by lu...@apache.org on 2002/04/01 22:24:06 UTC
cvs commit: jakarta-taglibs/standard/src/org/apache/taglibs/standard/tag/common/fmt RequestEncodingSupport.java
luehe 02/04/01 12:24:06
Modified: standard/src/org/apache/taglibs/standard/tag/common/fmt
RequestEncodingSupport.java
Log:
Fixed 7670: <fmt:requestEncoding> with no value attribute specified
doesn't set the character encoding properly based on the spec.
Revision Changes Path
1.4 +21 -13 jakarta-taglibs/standard/src/org/apache/taglibs/standard/tag/common/fmt/RequestEncodingSupport.java
Index: RequestEncodingSupport.java
===================================================================
RCS file: /home/cvs/jakarta-taglibs/standard/src/org/apache/taglibs/standard/tag/common/fmt/RequestEncodingSupport.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RequestEncodingSupport.java 1 Feb 2002 01:16:47 -0000 1.3
+++ RequestEncodingSupport.java 1 Apr 2002 20:24:06 -0000 1.4
@@ -79,6 +79,12 @@
//*********************************************************************
+ // Private constants
+
+ private static final String DEFAULT_ENCODING = "ISO-8859-1";
+
+
+ //*********************************************************************
// Protected state
protected String value; // 'value' attribute
@@ -101,21 +107,23 @@
// Tag logic
public int doEndTag() throws JspException {
- if ((value == null)
- && (pageContext.getRequest().getCharacterEncoding() == null)) {
- /*
- * no charset specified in tag or defined in request Content-Type
- * header
- */
- value = (String) pageContext.findAttribute(REQUEST_CHAR_SET);
+ if (value == null) {
+ // Use charset from request's Content-Type header
+ value = pageContext.getRequest().getCharacterEncoding();
+ if (value == null) {
+ // Use charset from scoped attribute
+ value = (String) pageContext.findAttribute(REQUEST_CHAR_SET);
+ if (value == null) {
+ // Use default encoding
+ value = DEFAULT_ENCODING;
+ }
+ }
}
- if (value != null) {
- try {
- pageContext.getRequest().setCharacterEncoding(value);
- } catch (UnsupportedEncodingException uee) {
- throw new JspTagException(uee.getMessage());
- }
+ try {
+ pageContext.getRequest().setCharacterEncoding(value);
+ } catch (UnsupportedEncodingException uee) {
+ throw new JspTagException(uee.getMessage());
}
return EVAL_PAGE;
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>