<!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>TagSupport NX</title>
</head>

<body>
<div id="">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr valign="top">
<td class="NAME"> TagSupport 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.TagSupport</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>
Ȃ
</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>
<span class="LITERAL">Tag</span>, <span class="LITERAL">java.io.Serializable</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>
ReiŗL̃NXBقƂǂ̃ReíÃNX̎QƎ (Apache Jakarta vWFNgō쐬) gp܂B
</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>
<span class="LITERAL">TagSupport</span> ́AׂĂ <span class="LITERAL">Tag</span> C^[tFCX\bh̃ftHg񋟂T|[gNXłB̃NX́AΉJX^ANVvf body vfɃANZXKvȂ^Onh̃X[p[NXƂĎgp܂B
</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>
Pȃ^Onh (<span class="LITERAL">Tag</span> C^[tFCX̂) ƂĎłJX^ANV̗ɂ́AHTTP  Cookie ǉANV܂B̃ANV <span class="LITERAL">&lt;ora:addCookie&gt;</span> Ƃ܂B^OnhNX̖O <span class="LITERAL">com.ora.jsp.tags.generic.AddCookieTag</span> ŁA<span class="LITERAL">TagSupport</span> NXgāA<span class="LITERAL">Tag</span> C^[tFCX\bĥقƂǂp܂B
</p>
<span class="PROGRAMLISTING"><pre>package com.ora.jsp.tags.generic;

import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import com.ora.jsp.util.*;

public class AddCookieTag extends TagSupport {</pre></span>
<p>
<span class="LITERAL">&lt;ora:addCookie&gt;</span> ANVɂ́A<span class="LITERAL">name</span>  <span class="LITERAL">value</span>  2 ̕K{̑ƁA<span class="LITERAL">maxAge</span>  1 ̏ȗ\ȑ܂Be̓CX^XϐƕW̃vpeBݒ胁\bhŕ\܂B
</p>
<span class="PROGRAMLISTING"><pre>    private String name;
    private String value;
    private String maxAgeString;

    public void setName(String name) {
        this.name = name;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public void setMaxAge(String maxAgeString) {
        this.maxAgeString = maxAgeString;
    }</pre></span>
<p>
ׂĂ̐ݒ胁\bh͑ΉCX^Xϐݒ肵܂B
</p>
<p>
JX^ANV̖ړÍAŎw肳 <span class="LITERAL">name</span>A<span class="LITERAL">value</span>A <span class="LITERAL">maxAge</span> lŐV <span class="LITERAL">javax.servlet.Cookie</span> IuWFNg쐬A Cookie ǉ邱ƂłB̃^OnhNX́A<span class="LITERAL">doEndTag()</span> \bh㏑Ď̏s܂B
</p>
<span class="PROGRAMLISTING"><pre>    public int doEndTag() throws JspException {
        int maxAge = -1;
        if (maxAgeString != null) {
            try {
                maxAge = Integer.valueOf(maxAgeString).
                  intValue();
            }
            catch (NumberFormatException e) {
                throw new JspException("Invalid maxAge: " + 
                    e.getMessage());
            }
        }
        sendCookie(name, value, maxAge,
            (HttpServletResponse) pageContext.getResponse());
        return EVAL_PAGE;
    }

    private void sendCookie(String name, String value, 
      int maxAge,
        HttpServletResponse res) {
        Cookie cookie = new Cookie(name, value);
        cookie.setMaxAge(maxAge);
        res.addCookie(cookie);
    }</pre></span>
<p>
<span class="LITERAL">maxAge</span> ͏ȗ\ł邽߁AΉ <span class="LITERAL">String</span> l <span class="LITERAL">int</span> ɕϊOɁȂݒ肳Ă邩ǂmF邽߂ɃeXgs܂B<span class="LITERAL">name</span>  <span class="LITERAL">value</span> ł́Â悤ȃeXg͕svłB́AWeb ReiAׂĂ̕K{̑JX^ANVɐݒ肳Ă邱ƂmF邽߂łBK{̑ݒ肳ĂȂꍇAWeb Rei̓y[W̏ۂ̂ŁAK{̑ɑΉϐɒl邱ƂɊmFł܂BK{ǂ́ACu TLD Ŏw肳܂B
</p>
<p>
܂A^OnhNX́A擾IuWFNgւׂ̂Ă̎QƂ邽߂ɁA<span class="LITERAL">release()</span> \bhKv܂B
</p>
<span class="PROGRAMLISTING"><pre>public void release() {
    name = null;
    value = null;
    maxAgeString = null;
    super.release();
}</pre></span>
<p>
^OnhsvɂȂƂ́A<span class="LITERAL">release()</span> \bhĂяo܂B<span class="LITERAL">AddCookieTag</span> NXׂ͂̂ẴvpeB <span class="LITERAL">null</span> ɐݒ肵A<span class="LITERAL">super.release()</span> ĂяoāA<span class="LITERAL">TagSupport</span> NXɂs܂BɂAׂẴvpeBIuWFNgKx[WRNVŗp\ɂȂ܂B
</p>
<p>
<span class="LITERAL">TagSupport</span> \bh̗͂ɂ͕Kv܂񂪁A<span class="LITERAL">findAncestorWithClass()</span> \bh͑̏󋵂Ŗ𗧂܂B̃\bh́Ae邽߂ɃlXgANVvf̃^OnhŎgpł܂BlXg^Onh́Ae^OnhNXŎĂ郁\bhĂяoāAe擾Aeɏ񋟂ł܂BƂ΁AW JSP ANVvf <span class="LITERAL">&lt;jsp:forward&gt;</span>  <span class="LITERAL">&lt;jsp:include&gt;</span> ̖{ɃlXgꂽ <span class="LITERAL">&lt;jsp:param&gt;</span> vf񋟂ł܂BlXgꂽp[^vf̓̃JX^ANV́Â悤 <span class="LITERAL">findAncestorWithClass()</span> \bhgp^OnhŎł܂B
</p>
<span class="PROGRAMLISTING"><pre>import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class ParamTag extends TagSupport {
    private String name;
    private String value;

    public void setName(String name) {
        this.name = name;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public int doEndTag() throws JspException {
        Tag parent = findAncestorWithClass(this, 
          ParamParent.class);
        if (parent == null) {
            throw new JspException("The param action is not " +
                "enclosed by a supported action type");
        }
        ParamParent paramParent = (ParamParent) parent;
        paramParent.setParam(name, URLEncoder.
          encode(value));
        return EVAL_PAGE;
    }
}</pre></span> </td>
</tr>
</table>
</div>
<div id="TagSupport">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">TagSupport()</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 TagSupport()</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
w肳ꂽOƒlgpĐVCX^X쐬܂B
</p></td>
</tr>
</table>
</div>
<div id="doEndTag">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">doEndTag()</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 int doEndTag() throws JspException</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
<span class="LITERAL">EVAL_PAGE</span> Ԃ܂B
</p></td>
</tr>
</table>
</div>
<div id="doStartTag">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">doStartTag()</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 int doStartTag() throws JspException</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
<span class="LITERAL">SKIP_BODY</span> Ԃ܂B
</p></td>
</tr>
</table>
</div>
<div id="findAncestorWithClass">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">findAncestorWithClass()</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 static final Tag findAncestorWithClass(Tag from, Class class)</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
w肳ꂽ <span class="LITERAL">Tag</span> CX^XŎn܂^OnhlXg\ (lXgꂽANVvfɑ) ŁAꂼ̐ëveXgŌAw肳ꂽNX̃CX^XԂ܂BȂꍇ <span class="LITERAL">null</span> Ԃ܂B
</p></td>
</tr>
</table>
</div>
<div id="getId">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">getId()</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 String getId()</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
<span class="LITERAL">id</span> lԂ܂B̒lݒ肳ĂȂꍇ <span class="LITERAL">null</span> Ԃ܂B
</p></td>
</tr>
</table>
</div>
<div id="getParent">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">getParent()</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 Tag getParent()</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
 <span class="LITERAL">Tag</span> CX^XɑΉANVvf܂ރANVvf\A <span class="LITERAL">Tag</span> CX^X̐eԂ܂BCX^XɐeȂ (JSP y[W̍ŏʃxł) ꍇ <span class="LITERAL">null</span> Ԃ܂B
</p></td>
</tr>
</table>
</div>
<div id="getValue">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">getValue()</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 Object getValue(String k)</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
<span class="LITERAL">setValue()</span> \bhŐݒ肳ꂽAw肳ꂽ̒lԂ܂B̒lȂꍇ <span class="LITERAL">null</span> Ԃ܂B
</p></td>
</tr>
</table>
</div>
<div id="getValues">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">getValues()</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 java.util.Enumeration getValues()</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
<span class="LITERAL">setValue()</span> \bhŐݒ肳ꂽlׂ̂Ă̑ <span class="LITERAL">Enumeration</span> Ԃ܂B
</p></td>
</tr>
</table>
</div>
<div id="release">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">release()</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 release()</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
̃CX^XɂĕێĂ邷ׂẴIuWFNgւ̎QƂ폜܂B
</p></td>
</tr>
</table>
</div>
<div id="removeValue">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">removeValue()</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 removeValue(String k)</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
<span class="LITERAL">setValue()</span> \bhŐݒ肳ꂽl폜܂B
</p></td>
</tr>
</table>
</div>
<div id="setPageContext">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">setPageContext()</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 setPageContext(PageContext pageContext)</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
݂ <span class="LITERAL">PageContext</span> ւ̎QƂۑ܂B
</p></td>
</tr>
</table>
</div>
<div id="setId">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">setId()</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 setId(String id)</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
<span class="LITERAL">id</span> lݒ肵܂B
</p></td>
</tr>
</table>
</div>
<div id="setParent">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">setParent()</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 setParent(Tag t)</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
̃CX^X̐eւ̎QƂۑ܂B
</p></td>
</tr>
</table>
</div>
<div id="setValue">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">setValue()</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 setValue(String k, Object o)</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
w肳ꂽw肳ꂽlŕۑ܂BTuNX͂̃\bhgpāAlCX^Xϐ̑Ƃĕۑł܂B
</p></td>
</tr>
</table>
</div>
</body>
</html>
