Author: mgrigorov
Date: Wed May 18 12:29:22 2011
New Revision: 1124217
URL: http://svn.apache.org/viewvc?rev=1124217&view=rev
Log:
WICKET-3724 Strip the jsessionid from the resource urls in Java instead of in
wicket-ajax.js
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/wicket-ajax.js?rev=1124217&r1=1124216&r2=1124217&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
Wed May 18 12:29:22 2011
@@ -1724,7 +1724,7 @@ Wicket.Head.addElement = function(elemen
// is an element in head that is of same type as myElement, and whose src
// attribute is same as myElement.src.
Wicket.Head.containsElement = function(element, mandatoryAttribute) {
- var attr =
Wicket.Head.stripJSessionId(element.getAttribute(mandatoryAttribute));
+ var attr = element.getAttribute(mandatoryAttribute);
if (attr == null || attr == "" || typeof(attr) == "undefined")
return false;
@@ -1743,8 +1743,8 @@ Wicket.Head.containsElement = function(e
// this is necessary for filtering script references
if (node.tagName.toLowerCase() ==
element.tagName.toLowerCase()) {
- var loadedUrl =
Wicket.Head.stripJSessionId(node.getAttribute(mandatoryAttribute));
- var loadedUrl_ =
Wicket.Head.stripJSessionId(node.getAttribute(mandatoryAttribute+"_"));
+ var loadedUrl = node.getAttribute(mandatoryAttribute);
+ var loadedUrl_ =
node.getAttribute(mandatoryAttribute+"_");
if (loadedUrl == attr || loadedUrl_ == attr) {
return true;
}
@@ -1753,43 +1753,6 @@ Wicket.Head.containsElement = function(e
return false;
}
-/**
- * Removes the optional ';jsessionid=...' from the passed url
- *
- * @param {String} url the url to strip the jsessionid from
- * @return {String} the url without the jsessionid and its value
- */
-// WICKET-3596
-Wicket.Head.stripJSessionId = function(url) {
- if (url == null)
- {
- return null;
- }
-
- // http://.../abc;jsessionid=...?param=...
- var ixSemiColon = url.indexOf(";");
- if (ixSemiColon == -1)
- {
- return url;
- }
-
- var ixQuestionMark = url.indexOf("?");
- if (ixQuestionMark == -1)
- {
- // no query paramaters; cut off at ";"
- // http://.../abc;jsession=...
- return url.substring(0, ixSemiColon);
- }
-
- if (ixQuestionMark <= ixSemiColon)
- {
- // ? is before ; - no jsessionid in the url
- return url;
- }
-
- return url.substring(0, ixSemiColon) + url.substring(ixQuestionMark);
-}
-
// Adds a javascript element to page header.
// The fakeSrc attribute is used to filter out duplicate javascript references.
// External javascripts are loaded using xmlhttprequest. Then a javascript
element is created and the
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java?rev=1124217&r1=1124216&r2=1124217&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
Wed May 18 12:29:22 2011
@@ -139,7 +139,8 @@ public abstract class HeaderResponse imp
}
if (!closed)
{
- List<String> token = Arrays.asList("css", url, media);
+ String urlWoSessionId = Strings.stripJSessionId(url);
+ List<String> token = Arrays.asList("css",
urlWoSessionId, media);
if (wasRendered(token) == false)
{
if (Strings.isEmpty(condition) == false)
@@ -149,7 +150,7 @@ public abstract class HeaderResponse imp
getResponse().write("]>");
}
getResponse().write("<link rel=\"stylesheet\"
type=\"text/css\" href=\"");
- getResponse().write(url);
+ getResponse().write(urlWoSessionId);
getResponse().write("\"");
if (media != null)
{
@@ -228,7 +229,9 @@ public abstract class HeaderResponse imp
}
if (!closed)
{
- List<String> token1 = Arrays.asList("javascript", url);
+ String urlWoSessionId = Strings.stripJSessionId(url);
+
+ List<String> token1 = Arrays.asList("javascript",
urlWoSessionId);
List<String> token2 = (id != null) ?
Arrays.asList("javascript", id) : null;
final boolean token1Unused = wasRendered(token1) ==
false;
@@ -236,7 +239,7 @@ public abstract class HeaderResponse imp
if (token1Unused && token2Unused)
{
-
JavaScriptUtils.writeJavaScriptUrl(getResponse(), url, id, defer);
+
JavaScriptUtils.writeJavaScriptUrl(getResponse(), urlWoSessionId, id, defer);
markRendered(token1);
if (token2 != null)
{