<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>BodyContent NX</title>
</head>

<body>
<div id="">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME"> BodyContent NX</td>
<td class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td class="usage" colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE">NX :</td>
</tr>
<tr>
<td colspan="2" class="description"><p>
<span class="LITERAL">javax.servlet.jsp.tagext.BodyContent</span>
</p></td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE">gNX :</td>
</tr>
<tr>
<td colspan="2" class="description"><p>
<span class="LITERAL">javax.servlet.jsp.JspWriter</span>
</p></td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE">NX :</td>
</tr>
<tr>
<td colspan="2" class="description"><p>
Ȃ
</p></td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE">NX :</td>
</tr>
<tr>
<td colspan="2" class="description"><p>
ReiŗL̃NX
</p></td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE"></td>
</tr>
<tr>
<td colspan="2" class="description"><p>
Ή^Onh <span class="LITERAL">BodyTag</span> C^[tFCXꍇÃRei <span class="LITERAL">BodyContent</span> NX̃CX^X쐬Avf body vf̕]ʂێ܂B܂A<span class="LITERAL">setBodyContent()</span> \bhĂяoA^Onhɑ΂ <span class="LITERAL">BodyContent</span> CX^X𗘗p\ɂāA^Onh body vfł悤ɂ܂B
</p>
<p>
<span class="LITERAL">BodyTagSupport</span> NXg^OnhNXɂĐ܂B<span class="LITERAL">EncodeHTMLTag</span> NX́A<span class="LITERAL">&lt;ora:encodeHTML&gt;</span> ƌĂ΂JX^ANṼ^OnhNXłB̃ANV͖{ǂݎAׂĂ̕ HTML œȈӖɒu܂BƂ΁AdpAdpAȂLAȂLAApThȂǂAY HTML  (<span class="LITERAL">&amp;#39;</span>A<span class="LITERAL">&amp;#34;</span>A<span class="LITERAL">&amp;lt;</span>A<span class="LITERAL">&amp;gt;</span>A<span class="LITERAL">&amp;amp;</span>) ɒuAʂ{ɑ}܂B̗́AJSP y[Wł̃ANVgp@܂B
</p>
<span class="PROGRAMLISTING"><pre>&lt;%@ page language="java" %&gt;
&lt;%@ taglib uri="/orataglib" prefix="ora" %&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;Encoded HTML Example&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;h1&gt;Encoded HTML Example&lt;/h1&gt;
    The following text is encoded by the 
    &amp;lt;ora:encodeHTML&amp;gt; custom action:
    &lt;pre&gt;
      &lt;ora:encodeHTML&gt;
        HTML 3.2 Documents start with a &lt;!DOCTYPE&gt; 
        declaration followed by an HTML element containing 
        a HEAD and then a BODY element: 

        &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"&gt;
        &lt;HTML&gt;
        &lt;HEAD&gt;
        &lt;TITLE&gt;A study of population dynamics&lt;/TITLE&gt;
        ... other head elements
        &lt;/HEAD&gt;
        &lt;BODY&gt;
        ... document body
        &lt;/BODY&gt;
        &lt;/HTML&gt;      
      &lt;/ora:encodeHTML&gt;
    &lt;/pre&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre></span>
<p>
JSP y[W̗ɂ <span class="LITERAL">&lt;ora:encodeHTML&gt;</span> ANV̖{ɂ́AHTML vf܂܂Ă܂Bꕶ HTML GeBeBɕϊȂꍇAuEU HTML ߂Avf̂̂ł͂Ȃ߂̌ʂ\܂BAJX^ANVsĕϊsƂŁAy[W͐܂B
</p>
<!--
<footitle>HTML processed by the &lt;ora:encodeHTML&gt; action </footitle>
<graphic fileref="figs/JspPR_07.gif"/>-->
<p>
ANV{ɂ́AÓIȃeLXgɉāACӂ JSP vf܂߂邱Ƃł܂B̃ANV̂茻IȎgpƂāAƂ΁AeLXg̓ꕶuEUłǂ̂悤ɉ߂邩ɂĐSz邱ƂȂAf[^x[XeLXg JSP y[Wɑ}ł܂B^OnhNX́A̗Ŏ悤ɁAɂȂ̂łB
</p>
<span class="PROGRAMLISTING"><pre>package com.ora.jsp.tags.generic;

import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import com.ora.jsp.util.*;

public class EncodeHTMLTag extends BodyTagSupport {
    
    public int doAfterBody() throws JspException {
        BodyContent bc = getBodyContent();
        JspWriter out = getPreviousOut();
        try {
            out.write(toHTMLString(bc.getString()));
        }
        catch (IOException e) {} // Ignore
        return SKIP_BODY;
    }

    private String toHTMLString(String in) {
        StringBuffer out = new StringBuffer();
        for (int i = 0; in != null &amp; i &lt; in.length(); 
          i++) {
            char c = in.charAt(i);
            if (c == '\'') {
                out.append("&amp;#39;");
            }
            else if (c == '\"') {
                out.append("&amp;#34;");
            }
            else if (c == '&lt;') {
                out.append("&amp;lt;");
            }
            else if (c == '&gt;') {
                out.append("&amp;gt;");
            }
            else if (c == '&amp;') {
                out.append("&amp;amp;");
            }
            else {
                out.append(c);
            }
        }
        return out.toString();
    }
}</pre></span>
<p>
̃ANVɂ͑Ȃ̂ŁA^Onh̓CX^XϐvpeB̃ANZX\bhKvƂ܂B^Onh́A<span class="LITERAL">doAfterBody()</span> \bhA<span class="LITERAL">BodyTagSupport</span> NXŎ邷ׂĂ <span class="LITERAL">BodyTag</span> \bhėpł܂B
</p>
<p>
<span class="LITERAL">BodyTagSupport</span> NXɗpӂĂ 2 ̃[eBeB\bh́A<span class="LITERAL">doAfterBody()</span> \bhŎgp܂B<span class="LITERAL">getBodyContent()</span> \bh́AANV{̏ʂ܂܂ <span class="LITERAL">BodyContent</span> IuWFNgւ̎QƂԂ܂B<span class="LITERAL">getPreviousOut()</span> \bh́A͂ރANV <span class="LITERAL">BodyContent</span> Ԃ܂BANVŏʃxɂꍇ́Ay[W̎v <span class="LITERAL">JspWriter</span> Ԃ܂B
</p>
<p>
\bh̖O <span class="LITERAL">getOut()</span> ł͂ȂA<span class="LITERAL">getPreviousOut()</span> ł邱ƂsvcɎv܂B̖Oɂ́A<em>͂</em>vfւ̏o͂ƂĊ蓖ĂIuWFNgAlXgꂽANVvf̊KwŎgp邱ƂӐ}܂By[WŎ̃ANVvfƂ܂B
</p>
<span class="PROGRAMLISTING"><pre>  &lt;xmp:foo&gt;
    &lt;xmp:bar&gt;
      Some template text
    &lt;/xmp:bar&gt;
&lt;/xmp:foo&gt;</pre></span>
<p>
Web Rei͍ŏ <span class="LITERAL">JspWriter</span> 쐬Ay[W <span class="LITERAL">out</span> ϐɊ蓖Ă܂B<span class="LITERAL">&lt;xmp:foo&gt;</span> ANVƁA<span class="LITERAL">BodyContent</span> IuWFNg쐬AꎞIɂ̃IuWFNg <span class="LITERAL">out</span> ϐɊ蓖Ă܂BɁA<span class="LITERAL">&lt;xmp:bar&gt;</span> ANVp̕ʂ <span class="LITERAL">BodyContent</span> 쐬AĂт <span class="LITERAL">out</span> Ɋ蓖Ă܂BWeb ReíAo̓IuWFNĝ̊KwǐՂ܂BW JSP vfɂč쐬ꂽev[geLXgƏo͂́Ȁ݂o̓IuWFNgɂȂ܂Bevf́A<span class="LITERAL">getBodyContent()</span> \bhĂяoAɂ̃RecǂݎāA̓Ǝ <span class="LITERAL">BodyContent</span> IuWFNgɃANZXł܂B<span class="LITERAL">&lt;xmp:bar&gt;</span> vfɂẮARec̓ev[geLXgłBRec̏ɁA<span class="LITERAL">getPreviousOut()</span> \bhʂĂ̗vf <span class="LITERAL">BodyContent</span> 擾āÃRec <span class="LITERAL">&lt;xmp:foo&gt;</span> {ɏނƂł܂BŌɁA<span class="LITERAL">&lt;xmp:foo&gt;</span> vf <span class="LITERAL">&lt;xmp:bar&gt;</span> vfɂĒ񋟂RecAŏʃx̏o̓IuWFNgɒǉł܂B́A<span class="LITERAL">getPreviousOut()</span> \bhĂяoĎ擾 <span class="LITERAL">JspWriter</span> IuWFNgłB
</p>
<p>
̗̃^Onh́A<span class="LITERAL">toHTMLString()</span> \bhgpāA<span class="LITERAL">BodyContent</span> IuWFNgŌׂĂ̓ꕶϊ܂B<span class="LITERAL">getString()</span> \bhgpāA<span class="LITERAL">BodyContent</span> IuWFNg̃Rec擾A<span class="LITERAL">toHTMLString()</span> \bh̃p[^ƂĎgp܂B̌ʂ́A<span class="LITERAL">getPreviousOut()</span> ĂяoĎ擾 <span class="LITERAL">JspWriter</span> ɏ܂܂B
</p>
<p>
̗ <span class="LITERAL">doAfterBody()</span> \bh <span class="LITERAL">SKIP_BODY</span> ԂA<span class="LITERAL">doEndTag()</span> ĂяoČp悤ɃReiɎw܂BJԂJX^ANV^Onhɑ΂ẮA<span class="LITERAL">doAfterBody()</span> ͑ <span class="LITERAL">EVAL_BODY_TAG</span> ԂƂł܂BReíAɗvf̖{x]Ǎʂvf <span class="LITERAL">BodyContent</span> ɏŁA<span class="LITERAL">doAfterBody()</span> Ăяo܂B̏́A<span class="LITERAL">doAfterBody()</span>  <span class="LITERAL">SKIP_BODY</span> Ԃ܂ŌJԂ܂B
</p></td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
</table>
</div>
<div id="clearBody">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">clearBody()</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"> </td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage"><span class="LITERAL">public void clearBody()</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
̃CX^Xɑ΂ăobt@OꂽׂẴRec폜܂B
</p></td>
</tr>
</table>
</div>
<div id="flush">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">flush()</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"> </td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage"><span class="LITERAL">public void flush() throws java.io.IOException</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
<span class="LITERAL">JspWriter</span> pꂽ㏑A <span class="LITERAL">IOException</span> X[܂B́A<span class="LITERAL">BodyContent</span> CX^XtbV͖̂ł邽߂łB
</p></td>
</tr>
</table>
</div>
<div id="getEnclosingWriter">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">getEnclosingWriter()</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"> </td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage"><span class="LITERAL">public JspWriter getEnclosingWriter()</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
O <span class="LITERAL">JspWriter</span> Ԃ܂B܂Ae^Onh̍ŏʃx <span class="LITERAL">JspWriter</span> ܂ <span class="LITERAL">JspWriter</span> (<span class="LITERAL">BodyContent</span> TuNX) Ԃ܂B
</p></td>
</tr>
</table>
</div>
<div id="getReader">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">getReader()</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"> </td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage"><span class="LITERAL">public abstract java.io.Reader getReader()</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
 <span class="LITERAL">BodyContent</span> IuWFNg̒lAvf̖{̕]ɂč쐬ꂽRecƋ <span class="LITERAL">Reader</span> ƂĕԂ܂B
</p></td>
</tr>
</table>
</div>
<div id="getString">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">getString()</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"> </td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage"><span class="LITERAL">public abstract String getString()</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
 <span class="LITERAL">BodyContent</span> IuWFNg̒lAvf̖{̕]ɂč쐬ꂽRecƋ <span class="LITERAL">String</span> ƂĕԂ܂B
</p></td>
</tr>
</table>
</div>
<div id="writeOut">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">writeOut()</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"> </td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage"><span class="LITERAL">public abstract void writeOut(java.io.Writer out)<br>
&nbsp;&nbsp;throws java.io.IOException</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
 <span class="LITERAL">BodyContent</span> IuWFNg̃Rec <span class="LITERAL">Writer</span> ɏ݂܂B
</p></td>
</tr>
</table>
</div>
<div id="BodyContent">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">BodyContent()</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"> </td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage"><span class="LITERAL">protected BodyContent(JspWriter e)</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
w肳ꂽ <span class="LITERAL">JspWriter</span> ÕC^[ƂĎgpāAVCX^X쐬܂B
</p></td>
</tr>
</table>
</div>
</body>
</html>
