You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by cr...@locus.apache.org on 2000/12/30 03:19:30 UTC
cvs commit: jakarta-struts/src/share/org/apache/struts/taglib/form LinkTag.java
craigmcc 00/12/29 18:19:30
Modified: src/share/org/apache/struts/taglib/form LinkTag.java
Log:
When processing a Map containing parameters to be added to the URL,
treat a null value (which is legal in Java2 collections) to mean "no
value specified". This will cause "name=" to be added to the URL.
Submitted by: Oleg Alexeev <go...@penza.net>
Revision Changes Path
1.4 +15 -5 jakarta-struts/src/share/org/apache/struts/taglib/form/LinkTag.java
Index: LinkTag.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/form/LinkTag.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- LinkTag.java 2000/11/18 22:10:56 1.3
+++ LinkTag.java 2000/12/30 02:19:30 1.4
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/form/LinkTag.java,v 1.3 2000/11/18 22:10:56 craigmcc Exp $
- * $Revision: 1.3 $
- * $Date: 2000/11/18 22:10:56 $
+ * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/form/LinkTag.java,v 1.4 2000/12/30 02:19:30 craigmcc Exp $
+ * $Revision: 1.4 $
+ * $Date: 2000/12/30 02:19:30 $
*
* ====================================================================
*
@@ -85,7 +85,7 @@
* Generate a URL-encoded hyperlink to the specified URI.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.3 $ $Date: 2000/11/18 22:10:56 $
+ * @version $Revision: 1.4 $ $Date: 2000/12/30 02:19:30 $
*/
public class LinkTag extends TagSupport {
@@ -406,7 +406,17 @@
while (keys.hasNext()) {
String key = (String) keys.next();
Object value = map.get(key);
- if (value instanceof String[]) {
+ if (value == null) {
+ if (question)
+ sb.append('&');
+ else {
+ sb.append('?');
+ question = true;
+ }
+ sb.append(key);
+ sb.append('=');
+ // Interpret null as "no value specified"
+ } else if (value instanceof String[]) {
String values[] = (String[]) value;
for (int i = 0; i < values.length; i++) {
if (question)