There should be an opensource JSTL 1.2 implementation. Please implement the changes required for JSTL 1.2 compliance.
Created attachment 22121 [details] The attachment implements the JSTL 1.2 specification changes. There were also some build.xml changes needed to - Update the standard-version to 1.2 - Update to use the JSP 2.1 spec - Update the library-build to include EL-1.0
I verified the patch against a local copy of 1.1.2 and built it using the latest IBM 1.5.0 Java SDK on SLED10 and MacOSX. This patch and creating an Apache version of JSTL 1.2 is important, as the Sun RI JSTL 1.2 jar will only pass the JavaEE 5 TCK on a Sun JVM, due to hard-coded dependencies on Sun renamed Xerces/Xalan classes in their JVM (sun.org.apache.*). If we want to support JSTL 1.2 users on Apache Harmony and other JDKs, then we need to release an Apache implementation. -Donald Woods dwoods@apache.org Apache Geronimo Committer and PMC Member
This rocks, thankyou Robert for the patch and Donald for testing it. Robert - I think a software grant would be needed for a contribution of this importance: http://www.apache.org/licenses/software-grant.txt
Patch pretty much applies to the latest trunk. src/org/apache/taglibs/standard/tag/common/core/SetSupport.java has some problems and will have to be done by hand, and PageContextImpl.java moved to /test/org/apache/taglibs/standard/lang/jstl/test/.
I'm interested in a release that includes this enhancement for possible inclusion in Apache Geronimo
Software grant looks to have been received :) Need to branch 1.1 and 1.2 from each other somehow, and apply the below. I already have the 1.2 TCK so can try to start running that (never run a TCK before... I hear they're "fun").
Created attachment 23032 [details] Fix to previous patch for one file that does not happily apply.
Branch created - trunk for standard is now 1.2 specific.
Build updated. Build succeeds. Unit tests pass. After a bit of build logic adjustments, Cactus tests pass too. Need to do a sanity check on each change against: http://jcp.org/aboutJava/communityprocess/maintenance/jsr052/jstl-1_2-mr-changeLog_PFD.html
EvaluationTest (which fails, but I suspect has for a long time) produces the same results. So that's a successful regression test.
Patch is applied with detailed SVN commit comment: http://svn.apache.org/viewvc?view=rev&revision=728565 A few followup items still to do: * Look at the question in SetSupport.java and resolve. * Look at questions in the length method in ForEachSupport.java * Look at commented out code in prepre in ForEachSupport.java * javadoc for new Expression classes * Ensure equals()/hashCode() is fine in new Expression classes # Not covered and suggest unit tests are implemented for each if possible: * Example involving <fmt:parseDate> in section 9.9 was incorrect. A pattern has been added so the date can be parsed properly. * Clarified the fact that the output of <c:url> wont work for the url attribute value of <c:import> for context relative URLs (URLs that start with a '/'). (section 7.4) # Create unit test for JSTL change #1 # Create unit test for JSTL change #2
Resolving as a build from trunk now passes the JSTL 1.2 TCK.