Ok, thanks, we will hold off on pushing forward on upgrading until we 
get some idea as to whether this is an issue or not.

Aaron


On 3/31/2010 2:53 PM, Scott Ferguson wrote:
> Aaron Freeman wrote:
>    
>> We are experiencing a fundamental change in how data is being passed as
>> a jsp:param between 3.0.22 and 4.0.5.  We need to know if this change is
>> intentional as it has a work-heavy impact on converting our code base
>> over which currently relies on the behavior of 3.0.x.
>>
>> It appears that a call to jsp:include was automatically URL decoding any
>> strings that were passed in, and that that behavior has changed.
>>
>> I have included source to two files that will demonstrate the behavior
>> change (in case it's not intentional).  And here are the results of
>> running it:
>>
>>      
> I've added a bug report for this at http://bugs.caucho.com/view.php?id=3976.
>
> I'll need to check, but there's a good chance this change was made to
> conform to either the JSP or JSTL spec/TCK.
>
> -- Scott
>    
>> ---- on resin-pro-3.0.22 ----
>>
>> URL encoded before pass to jsp:include:
>> Test%3A+1+%3C+2+and+width%3D%22100%25%22+and+ampersand%3D%26.
>>
>> Test: 1<  2 and width="100ïand ampersand=
>> Here it is as seen inside of test-process.jsp:
>> Test: 1<  2 and width="100%" and ampersand=&.
>>
>>
>> ---- on resin-pro-4.0.5 ----
>>
>> URL encoded before pass to jsp:include:
>> Test%3A+1+%3C+2+and+width%3D%22100%25%22+and+ampersand%3D%26.
>>
>> Test: 1<  2 and width="100ïand ampersand=
>> Here it is as seen inside of test-process.jsp:
>> Test:+1+<+2+and+width="100%"+and+ampersand=&.
>>
>>
>>
>> <%----- BEGIN test.jsp -----%>
>> <%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>
>> <%@ taglib uri="http://www.sendthisfile.com/taglib/httputil";
>> prefix="httputil" %>
>>
>> <c:if test="${!empty param.textarea}">
>>       textarea param exists:<br/>
>>       ${param.textarea}<br/><br/>
>>
>> <c:set var="textareaUrlEncodedBefore"
>> value="${httputil:urlEncode(param.textarea)}"/>
>>       URL encoded before pass to jsp:include:<br/>
>>       ${textareaUrlEncodedBefore}<br/><br/>
>> </c:if>
>>
>> <%-- Set some requestscope variable in test.jsp --%>
>> <jsp:include page="/test-process.jsp">
>> <jsp:param name="textarea" value="${param.textarea}"/>
>> <jsp:param name="textareaUrlEncoded" value="${textareaUrlEncodedBefore}"/>
>> </jsp:include>
>>
>> <form action="/test.jsp">
>>
>> <textarea name="textarea">${requestScope.processedTextarea}</textarea>
>>
>> <input type="submit"></input>
>>
>> </form>
>>
>> <c:if test="${!empty requestScope.urlEncoded}">
>>       Here it is as seen inside of test-process.jsp:<br/>
>>       ${requestScope.urlEncoded}
>> </c:if>
>> <%----- END test.jsp -----%>
>>
>>
>> <%----- BEGIN test-process.jsp -----%>
>> <%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>
>>
>> <c:choose>
>>
>> <c:when test="${empty param.textarea}">
>> <c:set var="processedTextarea" scope="request">Test: 1<  2 and
>> width="100%" and ampersand=&.</c:set>
>> </c:when>
>>
>> <c:otherwise>
>> <c:set var="processedTextarea" scope="request">${param.textarea}</c:set>
>> </c:otherwise>
>>
>> </c:choose>
>>
>> <c:set var="urlEncoded" scope="request">${param.textareaUrlEncoded}</c:set>
>> <%----- END test-process.jsp -----%>
>>
>>
>> Thanks for your thoughts on this,
>>
>> Aaron
>>      



_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to