Thanks for your help. But I don't think that is
causing the problem:
  (a) for one thing, the other text written to
     body content show up in the output. Only the
     stuff inserted into the enclosing writer in
     doAfterBody() is mysteriously missing.

  (b) I am writing to the enclosing JspWriter -
      not to the body content.

Consider the following:

      <body>
          <kobe:Filter> 
            I am a Laker Fan. I am Kobe.
          </kobe:Filter>
      <body>

What appears on output is:
     I AM A LAKER FAN I AM KOBE

The periods are missing. What (I think) my doAfterBody()
is doing is to replace "." tokens with ".<br>" tokens.
Can you tell me where the <br> tokens that I inserted
vanished?

     /K

On Fri, 8 Mar 2002 01:52:33 -0500  Ryan Daigle <[EMAIL PROTECTED]> wrote:
>I believe you have to flush the writer out to the body content of the tag at
>the end tag event:
>
>doEndTag() throws JspException {
>       bodyContent.writeOut(YourWriter);
>}
>
>That work?
>
>-----Original Message-----
>From: K Br [mailto:[EMAIL PROTECTED]]
>Sent: Thursday, March 07, 2002 6:29 PM
>To: [EMAIL PROTECTED]
>Subject: Processing BodyContent in doAfterTag() has no effect
>
>
>This is no JSP forum and I understand that.
>I would appreciate any pointers on this.
>
>Using Tomcat4.0.2 I have written a custom tag with body.
>The intention is to process the body and
>replace any periods with line breaks (in HTML)
>before writing the BodyContent to the
>enclosing JspWriter.
>
>It seems that replacing "." with ".<br>" does not
>take any effect. The output HTML does not contain
>the <br> tags (when viewed from the browser).
>
>From the doAfterBody() I call the filter
>to replace the periods with <br> as follows.
>
>Pl let me know if my understanding of the
>TAG lifecycle is wrong:
>
>public int doAfterBody() throws JspException {
>try {
>String txt = getBodyContent().getString();
>replaceDots(txt.toLowerCase()
>getPreviousOut()
>);
>}
>catch (java.io.IOException ioxc) {
>throw new JspException(ioxc.toString());
>}
>
>return SKIP_BODY;
>}
>
>private void replaceDots(final String x, JspWriter w)
>throws java.io.IOException
>{
>if (x == null) return ;
>StringTokenizer st = new StringTokenizer(x, ".");
>while (st.hasMoreTokens()) {
>String f = (String)st.nextToken();
>w.println( f.equals(".") ? ".<br>":f);
>}
>}
>
>
>
>--
>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>For additional commands: <mailto:[EMAIL PROTECTED]>
>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>
>--
>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>For additional commands: <mailto:[EMAIL PROTECTED]>
>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>
>



--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>

Reply via email to