You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by jh...@apache.org on 2007/08/13 19:15:28 UTC
svn commit: r565429 - in /struts/struts2/trunk/core/src:
main/java/org/apache/struts2/components/
main/java/org/apache/struts2/views/jsp/ site/resources/tags/
test/java/org/apache/struts2/views/jsp/
Author: jholmes
Date: Mon Aug 13 10:15:28 2007
New Revision: 565429
URL: http://svn.apache.org/viewvc?view=rev&rev=565429
Log:
WW-1948 s:url tag does not provide forceAddSchemeHostAndPort parameter
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/URL.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/URLTag.java
struts/struts2/trunk/core/src/site/resources/tags/url.html
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/URLTagTest.java
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java?view=diff&rev=565429&r1=565428&r2=565429
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java Mon Aug 13 10:15:28 2007
@@ -56,7 +56,7 @@
String result;
if (urlComponent.value == null && urlComponent.action != null) {
- result = urlComponent.determineActionURL(urlComponent.action, urlComponent.namespace, urlComponent.method, urlComponent.req, urlComponent.res, urlComponent.parameters, scheme, urlComponent.includeContext, urlComponent.encode, false, urlComponent.escapeAmp);
+ result = urlComponent.determineActionURL(urlComponent.action, urlComponent.namespace, urlComponent.method, urlComponent.req, urlComponent.res, urlComponent.parameters, scheme, urlComponent.includeContext, urlComponent.encode, urlComponent.forceAddSchemeHostAndPort, urlComponent.escapeAmp);
} else {
String _value = urlComponent.value;
@@ -65,7 +65,7 @@
if (_value != null && _value.indexOf("?") > 0) {
_value = _value.substring(0, _value.indexOf("?"));
}
- result = UrlHelper.buildUrl(_value, urlComponent.req, urlComponent.res, urlComponent.parameters, scheme, urlComponent.includeContext, urlComponent.encode, false, urlComponent.escapeAmp);
+ result = UrlHelper.buildUrl(_value, urlComponent.req, urlComponent.res, urlComponent.parameters, scheme, urlComponent.includeContext, urlComponent.encode, urlComponent.forceAddSchemeHostAndPort, urlComponent.escapeAmp);
}
if ( urlComponent.anchor != null && urlComponent.anchor.length() > 0 ) {
result += '#' + urlComponent.anchor;
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/URL.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/URL.java?view=diff&rev=565429&r1=565428&r2=565429
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/URL.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/URL.java Mon Aug 13 10:15:28 2007
@@ -84,6 +84,7 @@
* <li>portletMode (String) - The resulting portlet mode.</li>
* <li>windowState (String) - The resulting portlet window state.</li>
* <li>portletUrlType (String) - Specifies if this should be a portlet render or action URL.</li>
+ * <li>forceAddSchemeHostAndPort (Boolean) - Specifies whether to force the addition of scheme, host and port or not.</li>
* </ul>
*
* <!-- END SNIPPET: params -->
@@ -146,6 +147,7 @@
protected String windowState;
protected String portletUrlType;
protected String anchor;
+ protected boolean forceAddSchemeHostAndPort;
protected String urlIncludeParams;
protected ExtraParameterProvider extraParameterProvider;
protected UrlRenderer urlRenderer;
@@ -306,6 +308,11 @@
@StrutsTagAttribute(description="Specifies whether to escape ampersand (&) to (&amp;) or not", type="Boolean", defaultValue="true")
public void setEscapeAmp(boolean escapeAmp) {
this.escapeAmp = escapeAmp;
+ }
+
+ @StrutsTagAttribute(description="Specifies whether to force the addition of scheme, host and port or not", type="Boolean", defaultValue="false")
+ public void setForceAddSchemeHostAndPort(boolean forceAddSchemeHostAndPort) {
+ this.forceAddSchemeHostAndPort = forceAddSchemeHostAndPort;
}
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/URLTag.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/URLTag.java?view=diff&rev=565429&r1=565428&r2=565429
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/URLTag.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/URLTag.java Mon Aug 13 10:15:28 2007
@@ -49,6 +49,7 @@
protected String windowState;
protected String portletUrlType;
protected String anchor;
+ protected String forceAddSchemeHostAndPort;
public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
return new URL(stack, req, res);
@@ -78,6 +79,9 @@
if (escapeAmp != null) {
url.setEscapeAmp(Boolean.valueOf(escapeAmp).booleanValue());
}
+ if (forceAddSchemeHostAndPort != null) {
+ url.setForceAddSchemeHostAndPort(Boolean.valueOf(forceAddSchemeHostAndPort).booleanValue());
+ }
}
public void setEncode(String encode) {
@@ -115,17 +119,24 @@
public void setValue(String value) {
this.value = value;
}
+
public void setPortletMode(String portletMode) {
this.portletMode = portletMode;
}
+
public void setPortletUrlType(String portletUrlType) {
this.portletUrlType = portletUrlType;
}
+
public void setWindowState(String windowState) {
this.windowState = windowState;
}
public void setAnchor(String anchor) {
this.anchor = anchor;
+ }
+
+ public void setForceAddSchemeHostAndPort(String forceAddSchemeHostAndPort) {
+ this.forceAddSchemeHostAndPort = forceAddSchemeHostAndPort;
}
}
Modified: struts/struts2/trunk/core/src/site/resources/tags/url.html
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/site/resources/tags/url.html?view=diff&rev=565429&r1=565428&r2=565429
==============================================================================
--- struts/struts2/trunk/core/src/site/resources/tags/url.html (original)
+++ struts/struts2/trunk/core/src/site/resources/tags/url.html Mon Aug 13 10:15:28 2007
@@ -60,6 +60,14 @@
<td align="left" valign="top">Specifies whether to escape ampersand (&) to (&amp;) or not</td>
</tr>
<tr>
+ <td align="left" valign="top">forceAddSchemeHostAndPort</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">Boolean</td>
+ <td align="left" valign="top">Specifies whether to force the addition of scheme, host and port or not</td>
+ </tr>
+ <tr>
<td align="left" valign="top">id</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/URLTagTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/URLTagTest.java?view=diff&rev=565429&r1=565428&r2=565429
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/URLTagTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/URLTagTest.java Mon Aug 13 10:15:28 2007
@@ -488,6 +488,15 @@
assertEquals("/myapp/company.action", writer.toString());
}
+ public void testForceAddSchemeHostAndPort() throws Exception {
+ tag.setForceAddSchemeHostAndPort("true");
+ tag.setAction("company");
+ tag.doStartTag();
+ tag.doEndTag();
+
+ assertEquals("http://localhost/company.action", writer.toString());
+ }
+
protected void setUp() throws Exception {
super.setUp();