Bug 23375

Summary: Unicode data with Halfwidth & Fullwidth forms block not supported
Product: Taglibs Reporter: Gael Stevens <gael.stevens>
Component: Standard TaglibAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED INVALID    
Severity: normal    
Priority: P3    
Version: 1.0.2   
Target Milestone: ---   
Hardware: Sun   
OS: other   
Attachments: Uses jstl tags with Unicode Half and Full width block

Description Gael Stevens 2003-09-23 23:30:55 UTC
The JSTL tags (out for example) do not seem to support Halfwidth and Fullwidth
unicode forms block (from U+FF00 to U+FFEF).  The spec doesn't seem to indicate
whether or not this is supported.  If it is not, then please consider this an
enhancement request.  The test case includes these characters.  Tomcat 4.1.24
with standard tags 1.0.3 gives:
org.apache.jasper.JasperException: 
jsp.error.tlv.invalid.page
1: tag = 'out' / attribute = 'value': An error occurred while parsing custom
action attribute "value" with value "${bindings.??View1.labels.???????}":
Encountered "\uff85", expected one of ["}", ".", ">", "gt", "<", "lt", "==",
"eq", "<=", "le", ">=", "ge", "!=", "ne", "[", "+", "-", "*", "/", "div", "%",
"mod", "and", "&&", "or", "||"]
6: tag = 'out' / attribute = 'value': An error occurred while parsing custom
action attribute "value" with value "${Row.???????}": Encountered "\uff85",
expected one of ["}", ".", ">", "gt", "<", "lt", "==", "eq", "<=", "le", ">=",
"ge", "!=", "ne", "[", "+", "-", "*", "/", "div", "%", "mod", "and", "&&", "or",
"||"]

        at
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:105)
        at
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:430)
        at
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:112)
        at
org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:661)
        at org.apache.jasper.compiler.Validator.validate(Validator.java:613)
        at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:230)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)

============
Test case has:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>^M
<%@ page contentType="text/html;charset=UTF-8"%>^M
<html>^M
<head>^M
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">^M
<title>untitled</title>^M
</head>^M
<body>^M
  <table border="1" width="100%">^M
    <tr>^M
      <th>&nbsp;</th>^M
	<th>^M
	<c:out
value="${bindings.é\203¨é\226\200View1.labels.é\203¨é\226\200ï¾\205ï¾\235ï¾\212ï¾\236ï½°}"></c:out>^M
	</th>^M
      <th>^M
	<c:out
value="${bindings.é\203¨é\226\200View1.labels.é\203¨é\226\200å\220\215}"></c:out>^M
	</th>^M
      <th>^M
	<c:out value="${bindings.é\203¨é\226\200View1.labels.å\234°å\214º}"></c:out>^M
      </th>^M
    </tr>^M
    <c:forEach var="Row" items="${bindings.é\203¨é\226\200View1.rangeSet}">^M
	<tr>^M
	<td>^M
          <c:out value="${Row.currencyString}"></c:out>^M
	</td>^M
	<td>^M
          <c:out
value="${Row.é\203¨é\226\200ï¾\205ï¾\235ï¾\212ï¾\236ï½°}"></c:out>^M
     	</td>^M
	<td>^M
          <c:out value="${Row.é\203¨é\226\200å\220\215}"></c:out>^M
	</td>^M
	<td>^M
          <c:out value="${Row.å\234°å\214º}"></c:out>^M
	</td>^M
	</tr>^M
    </c:forEach>^M
  </table>^M
</body>^M
</html>^M
Comment 1 Gael Stevens 2003-09-23 23:32:40 UTC
Created attachment 8324 [details]
Uses jstl tags with Unicode Half and Full width block
Comment 2 Gael Stevens 2003-10-10 23:22:48 UTC
It looks like the test case was not valid due to use of non-ascii class names.