dgraham 2003/07/30 17:19:04 Modified: src/share/org/apache/struts/taglib/html SubmitTag.java CancelTag.java CheckboxTag.java ResetTag.java ButtonTag.java RadioTag.java HtmlTag.java MessagesTag.java OptionTag.java ImageTag.java LinkTag.java ImgTag.java SelectTag.java MultiboxTag.java OptionsTag.java src/share/org/apache/struts/taglib/nested NestedRootTag.java NestedPropertyTag.java src/share/org/apache/struts/util ResponseUtils.java src/share/org/apache/struts/taglib/logic IterateTag.java src/share/org/apache/struts/taglib TagUtils.java Log: Moved ResponseUtils methods to TagUtils. Revision Changes Path 1.18 +7 -11 jakarta-struts/src/share/org/apache/struts/taglib/html/SubmitTag.java Index: SubmitTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/SubmitTag.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- SubmitTag.java 19 Mar 2003 18:29:54 -0000 1.17 +++ SubmitTag.java 31 Jul 2003 00:19:04 -0000 1.18 @@ -59,13 +59,12 @@ * */ - package org.apache.struts.taglib.html; - import javax.servlet.jsp.JspException; + +import org.apache.struts.taglib.TagUtils; import org.apache.struts.util.MessageResources; -import org.apache.struts.util.ResponseUtils; /** * Tag for input fields of type "submit". @@ -73,7 +72,6 @@ * @author Craig R. McClanahan * @version $Revision$ $Date$ */ - public class SubmitTag extends BaseHandlerTag { @@ -236,10 +234,8 @@ results.append(prepareStyles()); results.append(getElementClose()); - // Render this element to our writer - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); - // Evaluate the remainder of this page return (EVAL_PAGE); } 1.13 +8 -7 jakarta-struts/src/share/org/apache/struts/taglib/html/CancelTag.java Index: CancelTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/CancelTag.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- CancelTag.java 22 Dec 2002 04:55:30 -0000 1.12 +++ CancelTag.java 31 Jul 2003 00:19:04 -0000 1.13 @@ -7,7 +7,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -64,8 +64,9 @@ import javax.servlet.jsp.JspException; + +import org.apache.struts.taglib.TagUtils; import org.apache.struts.util.MessageResources; -import org.apache.struts.util.ResponseUtils; /** @@ -219,7 +220,7 @@ results.append(getElementClose()); // Render this element to our writer - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); // Evaluate the remainder of this page return (EVAL_PAGE); 1.19 +40 -45 jakarta-struts/src/share/org/apache/struts/taglib/html/CheckboxTag.java Index: CheckboxTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/CheckboxTag.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- CheckboxTag.java 26 Jul 2003 17:22:27 -0000 1.18 +++ CheckboxTag.java 31 Jul 2003 00:19:04 -0000 1.19 @@ -7,7 +7,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -59,16 +59,12 @@ * */ - package org.apache.struts.taglib.html; - import javax.servlet.jsp.JspException; -import org.apache.struts.util.MessageResources; -import org.apache.struts.util.RequestUtils; -import org.apache.struts.util.ResponseUtils; -import org.apache.struts.taglib.TagUtils; +import org.apache.struts.taglib.TagUtils; +import org.apache.struts.util.MessageResources; /** * Tag for input fields of type "checkbox". @@ -76,19 +72,15 @@ * @author Craig R. McClanahan * @version $Revision$ $Date$ */ - public class CheckboxTag extends BaseHandlerTag { - // ----------------------------------------------------- Instance Variables - /** * The message resources for this package. */ protected static MessageResources messages = - MessageResources.getMessageResources(Constants.Package + ".LocalStrings"); - + MessageResources.getMessageResources(Constants.Package + ".LocalStrings"); /** * The name of the bean containing our underlying property. @@ -103,28 +95,23 @@ this.name = name; } - /** * The property name for this field. */ protected String property = null; - /** * The body content of this tag (if any). */ protected String text = null; - /** * The server value for this option. */ protected String value = null; - // ------------------------------------------------------------- Properties - /** * Return the property name. */ @@ -134,7 +121,6 @@ } - /** * Set the property name. * @@ -146,7 +132,6 @@ } - /** * Return the server value. */ @@ -156,7 +141,6 @@ } - /** * Set the server value. * @@ -168,10 +152,8 @@ } - // --------------------------------------------------------- Public Methods - /** * Generate the required input tag. * <p> @@ -184,9 +166,11 @@ // Create an appropriate "input" element based on our parameters StringBuffer results = new StringBuffer("<input type=\"checkbox\""); results.append(" name=\""); - // * @since Struts 1.1 - if( indexed ) - prepareIndex( results, name ); + + if (indexed) { + prepareIndex(results, name); + } + results.append(this.property); results.append("\""); if (accesskey != null) { @@ -194,35 +178,49 @@ results.append(accesskey); results.append("\""); } + if (tabindex != null) { results.append(" tabindex=\""); results.append(tabindex); results.append("\""); } + results.append(" value=\""); - if (value == null) + + if (value == null) { results.append("on"); - else + } else { results.append(value); + } + results.append("\""); - Object result = TagUtils.getInstance().lookup(pageContext, name, - property, null); - if (result == null) + + Object result = + TagUtils.getInstance().lookup(pageContext, name, property, null); + + if (result == null) { result = ""; - if (!(result instanceof String)) + } + + if (!(result instanceof String)) { result = result.toString(); + } + String checked = (String) result; if (checked.equalsIgnoreCase(value) || checked.equalsIgnoreCase("true") || checked.equalsIgnoreCase("yes") - || checked.equalsIgnoreCase("on")) + || checked.equalsIgnoreCase("on")) { + results.append(" checked=\"checked\""); + } + results.append(prepareEventHandlers()); results.append(prepareStyles()); results.append(getElementClose()); // Print this field to our output writer - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); // Continue processing this page this.text = null; @@ -230,8 +228,6 @@ } - - /** * Save the associated label from the body content. * @@ -241,14 +237,14 @@ if (bodyContent != null) { String value = bodyContent.getString().trim(); - if (value.length() > 0) + if (value.length() > 0) { text = value; + } } return (SKIP_BODY); } - /** * Process the remainder of this page normally. * @@ -257,15 +253,15 @@ public int doEndTag() throws JspException { // Render any description for this checkbox - if (text != null) - ResponseUtils.write(pageContext, text); + if (text != null) { + TagUtils.getInstance().write(pageContext, text); + } // Evaluate the remainder of this page return (EVAL_PAGE); } - /** * Release any acquired resources. */ @@ -278,6 +274,5 @@ value = null; } - } 1.14 +7 -6 jakarta-struts/src/share/org/apache/struts/taglib/html/ResetTag.java Index: ResetTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/ResetTag.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ResetTag.java 18 May 2003 19:06:14 -0000 1.13 +++ ResetTag.java 31 Jul 2003 00:19:04 -0000 1.14 @@ -62,8 +62,9 @@ package org.apache.struts.taglib.html; import javax.servlet.jsp.JspException; + +import org.apache.struts.taglib.TagUtils; import org.apache.struts.util.MessageResources; -import org.apache.struts.util.ResponseUtils; /** * Tag for input fields of type "reset". @@ -178,7 +179,7 @@ */ public int doEndTag() throws JspException { - ResponseUtils.write(pageContext, renderResetElement(label())); + TagUtils.getInstance().write(pageContext, renderResetElement(label())); return (EVAL_PAGE); } 1.15 +7 -10 jakarta-struts/src/share/org/apache/struts/taglib/html/ButtonTag.java Index: ButtonTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/ButtonTag.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- ButtonTag.java 16 Nov 2002 06:05:21 -0000 1.14 +++ ButtonTag.java 31 Jul 2003 00:19:04 -0000 1.15 @@ -7,7 +7,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -59,13 +59,11 @@ * */ - package org.apache.struts.taglib.html; - import javax.servlet.jsp.JspException; -import org.apache.struts.util.ResponseUtils; +import org.apache.struts.taglib.TagUtils; /** * Renders an HTML BUTTON tag within the Struts framework. @@ -73,7 +71,6 @@ * @author Don Clasen * @version $Revision$ $Date$ */ - public class ButtonTag extends BaseHandlerTag { @@ -210,7 +207,7 @@ results.append(getElementClose()); // Render this element to our writer - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); // Evaluate the remainder of this page return (EVAL_PAGE); 1.24 +7 -7 jakarta-struts/src/share/org/apache/struts/taglib/html/RadioTag.java Index: RadioTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/RadioTag.java,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- RadioTag.java 18 May 2003 18:57:13 -0000 1.23 +++ RadioTag.java 31 Jul 2003 00:19:04 -0000 1.24 @@ -63,8 +63,8 @@ import javax.servlet.jsp.JspException; +import org.apache.struts.taglib.TagUtils; import org.apache.struts.util.MessageResources; -import org.apache.struts.util.ResponseUtils; /** * Tag for input fields of type "radio". @@ -211,7 +211,7 @@ String radioTag = renderRadioElement(serverValue(), currentValue()); - ResponseUtils.write(pageContext, radioTag); + TagUtils.getInstance().write(pageContext, radioTag); this.text = null; return (EVAL_BODY_TAG); @@ -315,7 +315,7 @@ // Render any description for this radio button if (this.text != null) { - ResponseUtils.write(pageContext, text); + TagUtils.getInstance().write(pageContext, text); } return (EVAL_PAGE); 1.17 +6 -7 jakarta-struts/src/share/org/apache/struts/taglib/html/HtmlTag.java Index: HtmlTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/HtmlTag.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- HtmlTag.java 26 Jul 2003 01:17:55 -0000 1.16 +++ HtmlTag.java 31 Jul 2003 00:19:04 -0000 1.17 @@ -72,7 +72,6 @@ import org.apache.struts.Globals; import org.apache.struts.taglib.TagUtils; import org.apache.struts.util.MessageResources; -import org.apache.struts.util.ResponseUtils; /** * Renders an HTML <html> element with appropriate language attributes if @@ -157,7 +156,7 @@ */ public int doStartTag() throws JspException { - ResponseUtils.write(this.pageContext, this.renderHtmlStartElement()); + TagUtils.getInstance().write(this.pageContext, this.renderHtmlStartElement()); return EVAL_BODY_INCLUDE; } @@ -228,7 +227,7 @@ */ public int doEndTag() throws JspException { - ResponseUtils.write(pageContext, "</html>"); + TagUtils.getInstance().write(pageContext, "</html>"); // Evaluate the remainder of this page return (EVAL_PAGE); 1.20 +7 -8 jakarta-struts/src/share/org/apache/struts/taglib/html/MessagesTag.java Index: MessagesTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/MessagesTag.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- MessagesTag.java 30 Jul 2003 23:55:50 -0000 1.19 +++ MessagesTag.java 31 Jul 2003 00:19:04 -0000 1.20 @@ -72,7 +72,6 @@ import org.apache.struts.action.ActionMessages; import org.apache.struts.taglib.TagUtils; import org.apache.struts.util.MessageResources; -import org.apache.struts.util.ResponseUtils; /** * Custom tag that iterates the elements of a message collection. @@ -279,7 +278,7 @@ TagUtils.getInstance().message(pageContext, bundle, locale, header); if (headerMessage != null) { - ResponseUtils.write(pageContext, headerMessage); + TagUtils.getInstance().write(pageContext, headerMessage); } } @@ -299,7 +298,7 @@ public int doAfterBody() throws JspException { // Render the output from this iteration to the output stream if (bodyContent != null) { - ResponseUtils.writePrevious(pageContext, bodyContent.getString()); + TagUtils.getInstance().writePrevious(pageContext, bodyContent.getString()); bodyContent.clearBody(); } @@ -336,7 +335,7 @@ TagUtils.getInstance().message(pageContext, bundle, locale, footer); if (footerMessage != null) { - ResponseUtils.write(pageContext, footerMessage); + TagUtils.getInstance().write(pageContext, footerMessage); } } 1.22 +5 -6 jakarta-struts/src/share/org/apache/struts/taglib/html/OptionTag.java Index: OptionTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/OptionTag.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- OptionTag.java 27 Jul 2003 07:13:04 -0000 1.21 +++ OptionTag.java 31 Jul 2003 00:19:04 -0000 1.22 @@ -69,7 +69,6 @@ import org.apache.struts.Globals; import org.apache.struts.taglib.TagUtils; import org.apache.struts.util.MessageResources; -import org.apache.struts.util.ResponseUtils; /** * Tag for select options. The body of this tag is presented to the user @@ -268,7 +267,7 @@ */ public int doEndTag() throws JspException { - ResponseUtils.write(pageContext, this.renderOptionElement()); + TagUtils.getInstance().write(pageContext, this.renderOptionElement()); return (EVAL_PAGE); } 1.28 +17 -14 jakarta-struts/src/share/org/apache/struts/taglib/html/ImageTag.java Index: ImageTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/ImageTag.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- ImageTag.java 27 Jul 2003 07:13:04 -0000 1.27 +++ ImageTag.java 31 Jul 2003 00:19:04 -0000 1.28 @@ -7,7 +7,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -70,7 +70,6 @@ import org.apache.struts.Globals; import org.apache.struts.config.ModuleConfig; import org.apache.struts.taglib.TagUtils; -import org.apache.struts.util.ResponseUtils; /** @@ -223,9 +222,10 @@ if (property != null) { results.append(" name=\""); results.append(property); - // @since Struts 1.1 - if( indexed ) - prepareIndex( results, null ); + + if (indexed) { + prepareIndex(results, null); + } results.append("\""); } @@ -264,10 +264,8 @@ results.append(prepareStyles()); results.append(getElementClose()); - // Render this element to our writer - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); - // Evaluate the remainder of this page return (EVAL_PAGE); } @@ -309,15 +307,17 @@ TagUtils.getInstance().saveException(pageContext, e); throw e; } + ModuleConfig config = (ModuleConfig) pageContext.getRequest().getAttribute(Globals.MODULE_KEY); + HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); + if (config == null) { return (request.getContextPath() + this.page); } else { - return (request.getContextPath() + config.getPrefix() + - this.page); + return (request.getContextPath() + config.getPrefix() + this.page); } } @@ -329,10 +329,13 @@ TagUtils.getInstance().saveException(pageContext, e); throw e; } + ModuleConfig config = (ModuleConfig) pageContext.getRequest().getAttribute(Globals.MODULE_KEY); + HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); + if (config == null) { return ( request.getContextPath() 1.31 +15 -20 jakarta-struts/src/share/org/apache/struts/taglib/html/LinkTag.java Index: LinkTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/LinkTag.java,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- LinkTag.java 27 Jul 2003 06:30:10 -0000 1.30 +++ LinkTag.java 31 Jul 2003 00:19:04 -0000 1.31 @@ -7,7 +7,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -59,19 +59,17 @@ * */ - package org.apache.struts.taglib.html; - import java.net.MalformedURLException; -import java.util.Map; import java.util.HashMap; +import java.util.Map; + import javax.servlet.jsp.JspException; -import org.apache.struts.util.MessageResources; -import org.apache.struts.util.RequestUtils; -import org.apache.struts.util.ResponseUtils; -import org.apache.struts.taglib.logic.IterateTag; + import org.apache.struts.taglib.TagUtils; +import org.apache.struts.taglib.logic.IterateTag; +import org.apache.struts.util.MessageResources; /** * Generate a URL-encoded hyperlink to the specified URI. @@ -80,7 +78,6 @@ * @author James Turner * @version $Revision$ $Date$ */ - public class LinkTag extends BaseHandlerTag { @@ -344,7 +341,7 @@ StringBuffer results = new StringBuffer("<a name=\""); results.append(linkName); results.append("\">"); - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); return (EVAL_BODY_TAG); } @@ -372,8 +369,7 @@ results.append(prepareEventHandlers()); results.append(">"); - // Print this element to our output writer - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); // Evaluate the body of this tag this.text = null; @@ -409,14 +405,13 @@ // Prepare the textual content and ending element of this hyperlink StringBuffer results = new StringBuffer(); - if (text != null) + if (text != null) { results.append(text); + } results.append("</a>"); - // Render the remainder to the output stream - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); - // Evaluate the remainder of this page return (EVAL_PAGE); } 1.31 +7 -10 jakarta-struts/src/share/org/apache/struts/taglib/html/ImgTag.java Index: ImgTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/ImgTag.java,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- ImgTag.java 27 Jul 2003 07:13:04 -0000 1.30 +++ ImgTag.java 31 Jul 2003 00:19:04 -0000 1.31 @@ -7,7 +7,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -69,11 +69,10 @@ import javax.servlet.jsp.JspException; import org.apache.struts.Globals; -import org.apache.struts.taglib.TagUtils; import org.apache.struts.config.ModuleConfig; +import org.apache.struts.taglib.TagUtils; import org.apache.struts.util.MessageResources; import org.apache.struts.util.RequestUtils; -import org.apache.struts.util.ResponseUtils; /** * Generate an IMG tag to the specified image URI. @@ -469,10 +468,8 @@ results.append(prepareEventHandlers()); results.append(getElementClose()); - // Print this element to our output writer - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); - // Evaluate the reaminder of this page return (EVAL_PAGE); } 1.18 +9 -8 jakarta-struts/src/share/org/apache/struts/taglib/html/SelectTag.java Index: SelectTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/SelectTag.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- SelectTag.java 27 Jul 2003 07:13:04 -0000 1.17 +++ SelectTag.java 31 Jul 2003 00:19:04 -0000 1.18 @@ -62,11 +62,12 @@ package org.apache.struts.taglib.html; import java.lang.reflect.InvocationTargetException; + import javax.servlet.jsp.JspException; + import org.apache.commons.beanutils.BeanUtils; -import org.apache.struts.util.MessageResources; -import org.apache.struts.util.ResponseUtils; import org.apache.struts.taglib.TagUtils; +import org.apache.struts.util.MessageResources; /** * Custom tag that represents an HTML select element, associated with a @@ -236,7 +237,7 @@ */ public int doStartTag() throws JspException { - ResponseUtils.write(pageContext, renderSelectStartElement()); + TagUtils.getInstance().write(pageContext, renderSelectStartElement()); // Store this tag itself as a page attribute pageContext.setAttribute(Constants.SELECT_KEY, this); @@ -369,7 +370,7 @@ } results.append("</select>"); - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); return (EVAL_PAGE); } 1.20 +6 -9 jakarta-struts/src/share/org/apache/struts/taglib/html/MultiboxTag.java Index: MultiboxTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/MultiboxTag.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- MultiboxTag.java 26 Jul 2003 17:22:27 -0000 1.19 +++ MultiboxTag.java 31 Jul 2003 00:19:04 -0000 1.20 @@ -7,7 +7,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2001 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -70,7 +70,6 @@ import org.apache.struts.Globals; import org.apache.struts.taglib.TagUtils; import org.apache.struts.util.MessageResources; -import org.apache.struts.util.RequestUtils; import org.apache.struts.util.ResponseUtils; /** @@ -257,10 +256,8 @@ results.append(prepareStyles()); results.append(getElementClose()); - // Render this element to our response - ResponseUtils.write(pageContext, results.toString()); + TagUtils.getInstance().write(pageContext, results.toString()); - // Continue evaluating this page return (EVAL_PAGE); } 1.24 +5 -8 jakarta-struts/src/share/org/apache/struts/taglib/html/OptionsTag.java Index: OptionsTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/OptionsTag.java,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- OptionsTag.java 26 Jul 2003 17:22:27 -0000 1.23 +++ OptionsTag.java 31 Jul 2003 00:19:04 -0000 1.24 @@ -73,10 +73,9 @@ import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.collections.IteratorUtils; +import org.apache.struts.taglib.TagUtils; import org.apache.struts.util.MessageResources; -import org.apache.struts.util.RequestUtils; import org.apache.struts.util.ResponseUtils; -import org.apache.struts.taglib.TagUtils; /** * Tag for creating multiple <select> options from a collection. The @@ -314,10 +313,8 @@ } } - // Render this element to our writer - ResponseUtils.write(pageContext, sb.toString()); + TagUtils.getInstance().write(pageContext, sb.toString()); - // Evaluate the remainder of this page return EVAL_PAGE; } 1.9 +6 -6 jakarta-struts/src/share/org/apache/struts/taglib/nested/NestedRootTag.java Index: NestedRootTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/nested/NestedRootTag.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- NestedRootTag.java 6 Mar 2003 16:07:13 -0000 1.8 +++ NestedRootTag.java 31 Jul 2003 00:19:04 -0000 1.9 @@ -63,7 +63,7 @@ import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; -import org.apache.struts.util.ResponseUtils; +import org.apache.struts.taglib.TagUtils; /** * NestedRootTag. @@ -143,7 +143,7 @@ public int doAfterBody() throws JspException { /* Render the output */ if (bodyContent != null) { - ResponseUtils.writePrevious(pageContext, bodyContent.getString()); + TagUtils.getInstance().writePrevious(pageContext, bodyContent.getString()); bodyContent.clearBody(); } 1.9 +6 -6 jakarta-struts/src/share/org/apache/struts/taglib/nested/NestedPropertyTag.java Index: NestedPropertyTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/nested/NestedPropertyTag.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- NestedPropertyTag.java 6 Mar 2003 16:07:13 -0000 1.8 +++ NestedPropertyTag.java 31 Jul 2003 00:19:04 -0000 1.9 @@ -63,7 +63,7 @@ import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; -import org.apache.struts.util.ResponseUtils; +import org.apache.struts.taglib.TagUtils; /** * NestedPropertyTag. @@ -131,7 +131,7 @@ /* Render the output */ if (bodyContent != null) { - ResponseUtils.writePrevious(pageContext, bodyContent.getString()); + TagUtils.getInstance().writePrevious(pageContext, bodyContent.getString()); bodyContent.clearBody(); } 1.7 +12 -25 jakarta-struts/src/share/org/apache/struts/util/ResponseUtils.java Index: ResponseUtils.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/ResponseUtils.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ResponseUtils.java 8 Dec 2002 07:12:17 -0000 1.6 +++ ResponseUtils.java 31 Jul 2003 00:19:04 -0000 1.7 @@ -63,11 +63,10 @@ package org.apache.struts.util; -import java.io.IOException; import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; -import javax.servlet.jsp.tagext.BodyContent; + +import org.apache.struts.taglib.TagUtils; /** @@ -148,18 +147,13 @@ * @param text The text to be written * * @exception JspException if an input/output error occurs (already saved) + * @deprecated Use TagUtils.write() instead. This will be + * removed after Struts 1.2. */ public static void write(PageContext pageContext, String text) throws JspException { - JspWriter writer = pageContext.getOut(); - try { - writer.print(text); - } catch (IOException e) { - RequestUtils.saveException(pageContext, e); - throw new JspException - (messages.getMessage("write.io", e.toString())); - } + TagUtils.getInstance().write(pageContext, text); } @@ -172,20 +166,13 @@ * @param text The text to be written * * @exception JspException if an input/output error occurs (already saved) + * @deprecated Use TagUtils.writePrevious() instead. This will be + * removed after Struts 1.2. */ public static void writePrevious(PageContext pageContext, String text) throws JspException { - JspWriter writer = pageContext.getOut(); - if (writer instanceof BodyContent) - writer = ((BodyContent) writer).getEnclosingWriter(); - try { - writer.print(text); - } catch (IOException e) { - RequestUtils.saveException(pageContext, e); - throw new JspException - (messages.getMessage("write.io", e.toString())); - } + TagUtils.getInstance().writePrevious(pageContext, text); } 1.24 +6 -7 jakarta-struts/src/share/org/apache/struts/taglib/logic/IterateTag.java Index: IterateTag.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/logic/IterateTag.java,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- IterateTag.java 27 Jul 2003 07:13:05 -0000 1.23 +++ IterateTag.java 31 Jul 2003 00:19:04 -0000 1.24 @@ -73,9 +73,8 @@ import javax.servlet.jsp.tagext.BodyTagSupport; import org.apache.commons.collections.IteratorUtils; -import org.apache.struts.util.MessageResources; -import org.apache.struts.util.ResponseUtils; import org.apache.struts.taglib.TagUtils; +import org.apache.struts.util.MessageResources; /** * Custom tag that iterates the elements of a collection, which can be @@ -388,7 +387,7 @@ // Render the output from this iteration to the output stream if (bodyContent != null) { - ResponseUtils.writePrevious(pageContext, bodyContent.getString()); + TagUtils.getInstance().writePrevious(pageContext, bodyContent.getString()); bodyContent.clearBody(); } 1.16 +64 -4 jakarta-struts/src/share/org/apache/struts/taglib/TagUtils.java Index: TagUtils.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/TagUtils.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- TagUtils.java 30 Jul 2003 23:55:50 -0000 1.15 +++ TagUtils.java 31 Jul 2003 00:19:04 -0000 1.16 @@ -61,6 +61,7 @@ package org.apache.struts.taglib; +import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.net.MalformedURLException; import java.util.HashMap; @@ -72,7 +73,9 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; +import javax.servlet.jsp.tagext.BodyContent; import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.logging.Log; @@ -1018,6 +1021,63 @@ Globals.EXCEPTION_KEY, exception, PageContext.REQUEST_SCOPE); + + } + + /** + * Write the specified text as the response to the writer associated with + * this page. <strong>WARNING</strong> - If you are writing body content + * from the <code>doAfterBody()</code> method of a custom tag class that + * implements <code>BodyTag</code>, you should be calling + * <code>writePrevious()</code> instead. + * + * @param pageContext The PageContext object for this page + * @param text The text to be written + * + * @exception JspException if an input/output error occurs (already saved) + */ + public void write(PageContext pageContext, String text) + throws JspException { + + JspWriter writer = pageContext.getOut(); + + try { + writer.print(text); + + } catch (IOException e) { + TagUtils.getInstance().saveException(pageContext, e); + throw new JspException + (messages.getMessage("write.io", e.toString())); + } + + } + + + /** + * Write the specified text as the response to the writer associated with + * the body content for the tag within which we are currently nested. + * + * @param pageContext The PageContext object for this page + * @param text The text to be written + * + * @exception JspException if an input/output error occurs (already saved) + */ + public void writePrevious(PageContext pageContext, String text) + throws JspException { + + JspWriter writer = pageContext.getOut(); + if (writer instanceof BodyContent){ + writer = ((BodyContent) writer).getEnclosingWriter(); + } + + try { + writer.print(text); + + } catch (IOException e) { + TagUtils.getInstance().saveException(pageContext, e); + throw new JspException + (messages.getMessage("write.io", e.toString())); + } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]