germuska 2004/05/17 10:38:09
Modified: src/share/org/apache/struts/taglib/tiles PutTag.java
Log:
Manage tag body content more carefully -- in some servlet containers, pooled
tags were displaying old content with empty tiles:put tags.
PR: 28269
Submitted by: Niall Pemberton
Revision Changes Path
1.11 +29 -5
jakarta-struts/src/share/org/apache/struts/taglib/tiles/PutTag.java
Index: PutTag.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/tiles/PutTag.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- PutTag.java 14 Mar 2004 06:23:49 -0000 1.10
+++ PutTag.java 17 May 2004 17:38:09 -0000 1.11
@@ -114,6 +114,11 @@
protected Object realValue = null;
/**
+ * The body content of this tag.
+ */
+ protected String body = null;
+
+ /**
* Default constructor.
*/
public PutTag() {
@@ -135,6 +140,7 @@
beanProperty = null;
beanScope = null;
role = null;
+ body = null;
}
/**
@@ -317,8 +323,8 @@
// If realValue is not set, value must come from body
if (value == null && beanName == null) {
// Test body content in case of empty body.
- if (bodyContent != null) {
- realValue = bodyContent.getString();
+ if (body != null) {
+ realValue = body;
} else {
realValue = "";
}
@@ -422,6 +428,10 @@
* Do start tag.
*/
public int doStartTag() throws JspException {
+
+ // clear body content
+ body = null;
+
// Do we need to evaluate body ?
if (value == null && beanName == null) {
return EVAL_BODY_TAG;
@@ -429,6 +439,20 @@
// Value is set, don't evaluate body.
return SKIP_BODY;
+ }
+
+ /**
+ * Save the body content of this tag (if any)
+ *
+ * @exception JspException if a JSP exception has occurred
+ */
+ public int doAfterBody() throws JspException {
+
+ if (bodyContent != null) {
+ body = bodyContent.getString();
+ }
+ return (SKIP_BODY);
+
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]