Author: michiel
Date: 2009-05-12 15:02:23 +0200 (Tue, 12 May 2009)
New Revision: 35093
Modified:
mmbase/trunk/applications/taglib/src/org/mmbase/bridge/jsp/taglib/ImportTag.java
mmbase/trunk/applications/taglib/src/org/mmbase/bridge/jsp/taglib/WriterHelper.java
Log:
MMB-1817
Modified:
mmbase/trunk/applications/taglib/src/org/mmbase/bridge/jsp/taglib/ImportTag.java
===================================================================
---
mmbase/trunk/applications/taglib/src/org/mmbase/bridge/jsp/taglib/ImportTag.java
2009-05-12 12:45:16 UTC (rev 35092)
+++
mmbase/trunk/applications/taglib/src/org/mmbase/bridge/jsp/taglib/ImportTag.java
2009-05-12 13:02:23 UTC (rev 35093)
@@ -77,6 +77,7 @@
public int doStartTag() throws JspTagException {
value = null;
+ helper.setUse_Stack(false);
helper.overrideWrite(false);
log.trace("dostarttag of import");
findWriter(false);
Modified:
mmbase/trunk/applications/taglib/src/org/mmbase/bridge/jsp/taglib/WriterHelper.java
===================================================================
---
mmbase/trunk/applications/taglib/src/org/mmbase/bridge/jsp/taglib/WriterHelper.java
2009-05-12 12:45:16 UTC (rev 35092)
+++
mmbase/trunk/applications/taglib/src/org/mmbase/bridge/jsp/taglib/WriterHelper.java
2009-05-12 13:02:23 UTC (rev 35093)
@@ -64,7 +64,9 @@
static final int TYPE_CHARSEQUENCE = 26;
static final int TYPE_FILEITEM = 27;
+ private boolean use_Stack = true;
+
static final int stringToType(String tt) {
String t = tt.toLowerCase();
if ("string".equals(t)) {
@@ -151,6 +153,12 @@
}
/**
+ * @since MMBase-1.9.1
+ */
+ public void setUse_Stack(boolean b) {
+ use_Stack = b;
+ }
+ /**
* Reset to initial values
*/
public void initTag() {
@@ -442,28 +450,32 @@
PageContext pageContext = thisTag.getPageContext();
- _Stack = (LinkedList<StackEntry>)
pageContext.getAttribute(STACK_ATTRIBUTE);
- if (_Stack == null) {
- _Stack = new LinkedList<StackEntry>();
- pushed = false;
- pageContext.setAttribute(STACK_ATTRIBUTE, _Stack);
+ if (use_Stack) {
+ _Stack = (LinkedList<StackEntry>)
pageContext.getAttribute(STACK_ATTRIBUTE);
+ if (_Stack == null) {
+ _Stack = new LinkedList<StackEntry>();
+ pushed = false;
+ pageContext.setAttribute(STACK_ATTRIBUTE, _Stack);
+ }
+
}
-
setJspvar();
- if (pushed && _Stack.size() > 0) {
+ if (use_Stack) {
+ if (pushed && _Stack.size() > 0) {
+ if (log.isDebugEnabled()) {
+ log.debug("Value was already pushed by this tag");
+ }
+ _Stack.set(0, new StackEntry(value, getEscaper()));
+ } else {
+ _Stack.addFirst(new StackEntry(value, getEscaper()));
+ pushed = true;
+ }
+ pageContext.setAttribute("_", Casting.wrap(value, getEscaper()));
if (log.isDebugEnabled()) {
- log.debug("Value was already pushed by this tag");
+ log.debug("pushed on _stack, for " +
thisTag.getClass().getName() + " now " + _Stack);
+ log.debug("Escaper: " + getEscaper());
}
- _Stack.set(0, new StackEntry(value, getEscaper()));
- } else {
- _Stack.addFirst(new StackEntry(value, getEscaper()));
- pushed = true;
}
- pageContext.setAttribute("_", Casting.wrap(value, getEscaper()));
- if (log.isDebugEnabled()) {
- log.debug("pushed on _stack, for " + thisTag.getClass().getName()
+ " now " + _Stack);
- log.debug("Escaper: " + getEscaper());
- }
}
@@ -612,8 +624,10 @@
} catch (IOException ioe){
throw new TaglibException(ioe);
}
- pop_Stack();
- _Stack = null;
+ if (use_Stack) {
+ pop_Stack();
+ _Stack = null;
+ }
pushed = false;
bodyContent = null;
value = null;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs