---------------------------------------------------------------------------------
                                                                      2010/05/21
                  Web Application Framework pirka V1.06

                       Oriental Arts CO.LTD  (http://www.oarts.jp)
---------------------------------------------------------------------------------

    Web Application Framework pirkaiȍ~pirkaƋLjJavaT[ubgx[X
    WebAvP[V쐬ѓ삷邽߂̃t[[NłB
    eՂȏKѐYړIƂt[[NłAȉ̓L܂B

    1) ŏ\WebAvP[V1HTMLt@C1JavaNX݂̂œ
    2) 쐬Java\[XR[h̓T[ubgӎȂVvJavaNX
    3) Convention over configurationiݒKjڎwŏ̐ݒt@C\[XLqœ

    pirkaFsJ Ɠǂ݂܂BuǂAvƂӖ̃ACkꂩƂ܂B

    --- ڎ -------------------------------------------------------------------------------------
    
    1.Tv
    2.ȋ@\
    3.dl
        3.1 Gg[|Cg
            3.1.1 {
            3.1.2 web.xml
            3.1.3 C[Wt@C̔zu
        3.2 Web
            3.2.1 \
            3.2.2 HTMLt@C̊{
                1) O(name)t
                2) I\iϕ\j
                3) eLXg{bNXeLXgGÃRg[[ւ̒l̕\
                4) eLXg{bNXeLXgGÃRg[[̓͒l̎擾
                5) [viJԂj
                6) XCb`
                7) G[bZ[W\̈
            3.2.3 EChNXiJavaj̊{
                1) ߂^void̃ANV\bh
                2) ߂^pirkaWind̃ANV\bh
                3) ߂^pirkaFileDownloader̃ANV\bh
                4) public void onPre();  public pirkaWindow onPre();
                5) public void onElse();@́@public pirkaWindow onElse();
                6) public void preDraw();@́@public pirkaWindow preDraw();
            3.2.4 ڍ
                1) <SPAN name=""></SPAN>
                2) <DIV name=""></DIV>
                3) <SCRIPT name=""></SCRIPT>
                4) <FORM name=""></FORM>
                5) <TEXTAREA name=""></TEXTAREA>
                6) <INPUT TYPE="TEXT" name="" value="l">
                7) <INPUT TYPE="PASSWORD" name="" value="l">
                8) <INPUT TYPE="HIDDEN" name="" value="l">
                9) <INPUT TYPE="RADIO" name="" value="l">
                10) <INPUT TYPE="CHECKBOX" name="">
                11) <INPUT TYPE="FILE" name="" value="l">
                12) <INPUT TYPE="SUBMIT" name="" value="l">
                13) <INPUT TYPE="IMAGE" name="">
                14) <BUTTON TYPE="SUBMIT" name=""></BUTTON>
                15) <SELECT name=""></SELECT>
                16) <IMG name="">
                17) <A name="">
                18) <LABEL name="">
            3.2.5 f[^[\bh
                1) pirkaWindowɎĂ郁\bh
                    1-1) tB[h}bv̎擾
                    1-2) tB[h}bv̐VK쐬
                    1-3) [ṽftHgtB[h}bv̎擾
                    1-4jDTOIuWFNg擾
                    1-5) DTOIuWFNg̐ݒ
                    1-6) BeanIuWFNgւ̃f[^ݒ
                    1-7) ListIuWFNg̎擾
                    1-8) BeanIuWFNg̔f
                    1-9) ListIuWFNg̔f
                    1-10) Cxg̃[vCfbNX̎擾
                2) FieldMapɎĂ郁\bh
                    2-1) 1tB[hւ̃f[^̐ݒ
                    2-2) 1tB[h̃f[^̎擾
                    2-3) [vւ̃f[^ݒ
                    2-4) [ṽf[^擾
                    2-5) Sf[^ɂ
            3.2.6 Rg[\bh
                1) pirkaWindowɎĂ郁\bh
                    1-1) ̓f[^`FbNp\bh
                        1-1-1) `FbJ[o^E폜
                        1-1-2) `FbJ[
                        1-1-3) `FbNe[
                        1-1-4) `FbN
                        1-1-5) G[̎擾
                    1-2) G[bZ[Wo^
                    1-3) G[bZ[W}l[W[̓o^
                2) FieldMapɎĂ郁\bh
                    2-1) ^O
                    2-2) ꗗ
                    2-3) \tH[}bg
                    2-4) G[ݒ
                    2-5) Webꕶϊ@\ON/OFF
                    2-6) ^Oʂ̎w
                    2-7) O[vx̎w
                    2-8) IDAforTtBbNXtw
                    2-9) C[WIuWFNg̐ݒ
                    2-10) `FbNsݒ
                    2-11) ȃtB[h̐ݒ
                    2-12) Ajax̐ݒ
                    2-13) ÑTu~bgݒ
            3.2.7 bNAbv@\
            3.2.8 CN[h@\
            3.2.9 ʃEBhẼCX^XǗ
            3.2.10 Ajax
            3.2.11 ZV
    4.̑
        4.1 Oo
        4.2 Javascriptgp̒ӎ
        4.3 T[ubg[h
        4.4 JUniteXg
        4.5 

    ----------------------------------------------------------------------------------------------

    1.Tv

        @pirkaTomcatJavaT[ubgx[XWebT[o[œ삷WebAvP[Vp
        t[[NłB

        pirkagpwebAvP[V삷邽߂ɕKvȂ̂́ATomcatWebT[o[ƁA
        Pirka.jarEHTMLEHTMLɑΉJavaNX3łB
        (WebT[o[𓮍삳邽߂̊ݒȂǂ͏܂)

        Pirka.jar ɂ́ApirkȃSĂ̋@\i[Ă܂B
        HTMLt@CJavat@C͑΂ɂȂĂAʂ̕\ƐŝłB

        pirkał́A1Webʂ1HTMLt@CƂHTMLt@CɑΉJavaNXt@C(EB
        hENXƌĂт܂)ō\܂B
        {Iɂ͉ʐƓHTMLt@CƁAHTMLt@CɑΉJavaNXt@C
        쐬܂B

        APHTMLt@CɕJavaNXΉĎʂڂ̈ႤWebʂ
        쐬邱ƂAHTMLt@C1JavaNXΉ͓łڂႤWeb
        ʂ쐬邱Ƃ\łB

        ̃Gg[|CgiURLjKvƂWebAvP[V̂Ƃ̓Gg[|CgN
        XhNXƎɍ쐬邱Ƃɂ\ƂȂ܂B

        ܂A쐬HTMLt@Cƍ쐬Java\[Xt@CRpCNXt@CWebA
        vP[\T[o[webappstH_[̔CӖOWebAvP[VtH_[ɔz
        uWebAvP[VƂē삵܂B

          EWebT[o[
               |-webapps
                   |-Cӂ̃tH_[
                         |-Web-INF
                         |@@|-classes
                         |    |  |-쐬HTMLt@C
                         |    |  |-쐬Javat@C
                         |    |
                         |    |-lib
                         |       |-Pirka.jar
                         |
                         |-web.xml


    2.ȋ@\

        EIWebʁiHTMLC[Wj̕\iIɍ쐬OtBbNT|[gj
        EuEU[̃ANVɉJava\bȟĂяo
        EuEU[œ͂ꂽ̎󂯓niDTOABean̈ꊇ󂯓nE󂯎T|[gj
        EuEU[œ͂ꂽl̎`FbN
        Et@C_E[h
        Et@CAbv[h
        EtF[^G[ʂ̎\
        EZV^CAEgG[ʂ̎\
        EHTMLt@Cł̌JԂiꗗ\Ȃǁj̃T|[g
        EbNAbvT|[g
        EHTMLt@C̃CN[h
        EGoogle App EngineΉ
        


    3.dl

        3.1 Gg[|Cg

            Gg[|CgƂ́AuEUWebT[o[ĂяoƂɎgpURLłB
            
            3.1.1 {

                pirkaɕtĂweb.xmlgpΒʏGg[|Cg쐬
                Kv͂܂B
                ʂƂclasses̒ɑ݂Index.htmlIndex.classgp܂̂ŁA
                ̃t@CiIndex.htmlAIndex.classj쐬ĂB
                IndexNXɂ́ApubNȃp[^̃RXgN^newł悤ɂĂB

                ̂ƂAuEU[Ŏw肷URĹwhttp://server-adrs/appName/indexxƂȂ܂B
                server-adrsWebT[o[IPAhXAappNameWebT[o[ɃCXg[ifvCj
                WebAvP[Viwebapps̉̃CXg[tH_[jłB

                ܂Aȉ̂ƂsȂ͓Ǝ̃Gg[|Cg쐬邱Ƃɂ\łB
                ڍׂAPI}jAQƂĂB

                @E1WebAvP[VŕURL
                @EpirkaWŏo͂tF[^G[ʂZV^CAEgʂƎWeb
                @@ɒu
                @EURLɕtꂽp[^擾āA̒lɂďʂ\eς
                @EbZ[WENUMNXo^ʏɕ\G[bZ[ẄꌳǗsȂ
                @EHTMLt@C̃^OɑΉ鐧Ǝɐ䂵
                  EWebT[o[擾郊NGXg̕R[hϊƎɍsiGAEΉj
                  EAbv[hŎgpe|t@C̊ǗƎōsiGAEΉj
                  E΍ƂWEBʂ͂ꂽWEBʂ̃Rg[⓮I
                  @o͂镶̔Cӂ̕ɕϊ
                @EWEBAvP[VZVf[^pŏʂ\
                @@i3.2.11 ZVQƁj

                Gg[|Cg jp.oarts.pirka.core.app.EntryPoint NXhč쐬܂B
                hNXɕKvȏAweb.xmlɃT[ubgƂēo^邱Ƃɂ蓮삵
                ܂B
                ŒȂ΂ȂƂĂgetInitWindow\bhI[o[Ch
                ƂłB
                ̃\bhŃuEU[Ăяoꂽŏ̎ɕ\EChEIuWFNg
                iPorkaWindow̔hNX̃IuWFNgj߂ĂB
                ɂAʂw肷邱Ƃł܂B


            3.1.2 web.xml

                web.xmlɃGg[|Cgo^Ƃ͈ȉ̂ƂɒӂĂB
    
                1) o^^Oservlet^OƁAservlet-mapping^OłB

                2) servlet^O͈ȉ̗lɋLq܂B

                        <servlet>
                            <servlet-name>yT[ubgz</servlet-name>
                            <servlet-class>yGg[|CgNXz</servlet-class>
                        </servlet>

                    yT[ubgz͑̃T[ubgƃ_uȂCӂ̖Ow肵܂B
                    yGg[|CgNXzjp.oarts.pirka.core.app.EntryPointNX
                    hč쐬NXpbP[W܂ރNXŎw肵܂B

                    jT[ug=SampleAppAGg[|CgNX=abc.efg.SampleEntryPoint

                        <servlet>
                            <servlet-name>SampleApp</servlet-name>
                            <servlet-class>abc.efg.SampleEntryPoint</servlet-class>
                        </servlet>

                3) servlet-mapping^O͈ȉ̗lɋLq܂B

                        <servlet-mapping>
                            <servlet-name>yT[ubgz</servlet-name>
                            <url-pattern>yURLp^[z</url-pattern>
                        </servlet-mapping>

                    yT[ubgzservlet^OŎw肵T[ubgw肵܂B
                    yURLp^[zWEBʂJɃuEU[Ŏw肷CӂURLw肵܂B
                    ۂɎw肷̂WebAvP[VẼp^[iOjłB
                    
                    jT[ug=SampleAppAURLhttp://address/sample/start/abc
                        (addrss̓T[o[̖OIPAhXAsampleWebAv
                        P[V)

                        <servlet-mapping>
                            <servlet-name>SampleApp</servlet-name>
                            <url-pattern>/start/abc</url-pattern>
                        </servlet-mapping>

                    ӁFurl-pattern/1̎w͂߂ł܂B
                          C[Wt@Ccsst@CȂǂSĎgpłȂȂ鋰ꂪ܂B


            3.1.3 C[Wt@C̔zu
            
                    C[Wt@CAcsst@CAjst@Cwebapps̉WebAvP[V
                    tH_[ɔzu鎞͈ȉ̂ƂɒӂĂB
                    
                    URLhttp://address/sample/start/abcƂƂHTMLt@CŎw肷
                    srchref͈ȉ̗lɈ܂B
                    
                    1) T[o[̐Ύw
                       擪/Ŏn܂Ƃhttp://address/ƂĈ܂B
                       ̂webapps̉WebAvP[VtH_[̉img/sample.gifgpƂ
                       src="/sample/img/sample.gif"Ǝw肵܂B
                       ̏ꍇOwebAvP[V܂ĂKv܂B
                       ̂ߓrWEBAvP[V̕ύXKvƂɂ
                       HTML̑SẴpX̏KvƂȂ邽߂ӂB
                       ɐ铯T[o[̑Ύw̎gp߂܂B
                       
                    2) T[o[̑Ύw
                       ƂHTMLt@C src="sample.gif" Ǝw肷webapps̉
                       WebAvP[VtH_[̉ start/sample.gif w肳ꂽ
                       ݂Ȃ܂B

                       ܂1)Ɠlwebapps̉WebAvP[VtH_[̉img/sample.gif
                       gpƂstart/̑΃pXƂ src="../img/sample.gif" Ǝw肵܂B


        3.2 Web

            3.2.1 \

                WebʂHTMLt@CHTMLt@CƓJavaŋLqꂽEBhENX̃I
                uWFNg\ꓮ삵܂B
                HTMLt@C̊gq́w.htmlxłB
                Ⴆ΁AHTMLt@C̖OwMenu.htmlx̏ꍇAEBhENX̃\[Xt@C
                wMenu.javaxƂȂ܂B

                ܂AHTMLt@C̓EBhENXƓpbP[WɊi[ĂB
                EBhENX̃pbP[Wwjp.oarts.viewx̏ꍇAHTMLt@C̊i[ꏊ
                Web-INF/classes/jp/oarts/view ̉ɂȂ܂B

                Eclipse + TomcatPlugin ŊJ鎞́A\[Xt@C̊i[ĂpbP[W
                HTMLt@C쐬ƎI Web-INF/classes ̉HTMLt@CRs[
                ŌǂJ邱Ƃł܂B


            3.2.2 HTMLt@C̊{

                HTMLt@C͈ʓIHTMLt@CƂقړ̂łApirka̋KɑLqKv
                ƂȂ܂B

                ȉpirkaŗL̊{IȋKL܂B

                1) O(name)t

                    EBhENXHTMLt@CnameinameIvVjSĂ̎ނ̃^
                    OɃANZX\łB
                    EBhENXnameɋLqꂽOŒl̐ݒAl̎擾A̐ݒA
                    ANV\bhĂяo₻̑sƂł܂B

                    ===    ===
                    <input type="text" name="text001">                  \
                    <input type="submit" name="reg01" value="o^01">   \
                    <input type="submit" value="o^01">                ~s\(name)
                    <span name="message"></span>                        s\
                    <span></span>                                       ~s\(name)
                    <tabele name="table_a">                             \


                    1HTMLt@CœOgpĂ͂܂B
                    WI{^ȊÕ^OnameɋLqł閼O͉pn܂pуA
                    _[o[ō\ĂB

                    ===    ===
                    <input type="text" name="text001">                  
                    <input type="text" name="text_001">                 
                    <input type="text" name="_text_001">                ~(擪̃A_[o[NG)
                    <input type="text" name="text@001">                 ~(LNG)
                    <input type="text" name="text">               ~(}`oCgNG)

                    ܂AWI{^O[vɂ́AǑ$n܂pуA_[
                    o[ō\TtBbNXt܂B

                    ===    ===
                    <input type="radio" name="r001$a01">
                    <input type="radio" name="r001$a02">


                2) I\iϕ\j

                    WebʒœIiρjɕ\sȂӏɂ<span>^Ogp܂B
                    EBhENXł͖Oƒlw肵<span name="xxx">`</span>܂ł̊Ԃɕ
                    𖄂ߍݕ\܂B
                    ̐ݒɂsetValue\bhgp܂Bڍׂ̓EChNX̊{QƂ
                    ĂB

                    --- HTMLt@C ------------------------------------------
                    <span name="myName"></span>łB
                    -----------------------------------------------------------

                    --- Java --------------------------------------------------
                    FieldMap field = getFieldMap();
                    field.setValue("myName", "ɓ");
                    -----------------------------------------------------------

                    --- uEU\ ------------------------------------------
                    ͈ɓłB
                    -----------------------------------------------------------


                3) eLXg{bNXeLXgGÃRg[[ւ̒l̕\

                    ʏHTML̃^OƓłB
                    EBhENXł<span>^OƓlɖOƕ\lݒ肵܂B

                    --- HTMLt@C ------------------------------------------
                    <form name="sampleForm" method="post">
                        Z:<input type="text" name="adrs">
                    </form>
                    -----------------------------------------------------------

                    --- Java --------------------------------------------------
                    FieldMap field = getFieldMap();
                    field.setValue("adrs", "_ސ쌧");
                    -----------------------------------------------------------

                    --- uEU\ ------------------------------------------
                    Z:[_ސ쌧            ]
                    -----------------------------------------------------------


                4) eLXg{bNXeLXgGÃRg[[̓͒l̎擾

                    ʏHTML̃^OƓłB
                    A͂ꂽluEU[WebT[o[ɑMKv̂ŕKname
                    t<form>^Oň͂ĂB
                    EBhENXł͕\ƓlɖOw肵ē͂ꂽl擾܂B


                    --- uEUœ ----------------------------------------
                    Z:[_ސ쌧ls      ]
                    -----------------------------------------------------------

                    --- Java --------------------------------------------------
                    FieldMap field = getFieldMap();
                    String adrs = field.geValueString("adrs");  //  adrs"_ސ쌧ls"i[
                    -----------------------------------------------------------


                5) [viJԂj

                    ꗗ\̗lɁAHTMLt@C̔Cӂ͈̔͂JԂꍇɂ
                    <div type="loop"></div>^Ogp܂B
                    EBhENXŕ̃f[^Zbg邱ƂɂHTMLt@CŌJԂ
                    B

                    --- HTMLt@C ------------------------------------------
                    <form name="sampleForm" method="post">
                        <div type="loop" name="loop01">
                            <span name="msg"></span><input type="text name="ans">łB
                            <span name="result"></span>
                        </div>
                    </form>
                    -----------------------------------------------------------

                    --- Java --------------------------------------------------
                    FieldMap field = getFieldMap();
                    for(i=1;i<=3;i++){
                        FieldMap newFieldMap = createLoopFieldMap("loop01");
                        newFieldMap.setValue("msg", " " + i + "x" + i + "=");
                        newFieldMap.setValue("ans", "");
                        newFieldMap.setValue("result", "");
                        field.addFieldMap("loop01", newFieldMap);
                    }
                    -----------------------------------------------------------

                    --- uEU\ ------------------------------------------
                     1x1=[   ]łB
                     2x2=[   ]łB
                     3x3=[   ]łB
                    -----------------------------------------------------------

                    ܂A[v̓̓GAɓ͂ꂽl̎擾\łB

                    --- uEU ------------------------------------------
                     1x1=[2  ]łB
                     2x2=[   ]łB
                     3x3=[9  ]łB
                    -----------------------------------------------------------

                    --- Java --------------------------------------------------
                    FieldMap field = getFieldMap();
                    for(i=0;i<3;i++){
                        FieldMap ansFieldMap = field.getFieldMap("loop01", i);
                        Integer ans = ansFieldMap.getValueIntObject("ans");
                        if(ans == null || ans != ((i+1)*(i+1)) ){
                            newFieldMap.setValue("result", "~");
                        }else{
                            newFieldMap.setValue("result", "");
                        }
                    }
                    -----------------------------------------------------------

                    --- uEU\ ------------------------------------------
                     1x1=[2  ]łB~
                     2x2=[   ]łB~
                     3x3=[9  ]łB
                    -----------------------------------------------------------


                6) XCb`

                    HTMLt@C̔Cӂ͈̔͂̕\^\sȂƂɂ<div type="switch"></div>
                    ^Ogp܂B
                    EBhENXbooleanlݒ肷邱Ƃɂ\^\\ƂȂ܂B

                    --- HTMLt@C ------------------------------------------
                    <form name="sampleForm" method="post">
                        OF<input type="text" name="name">
                        <div type="switch" name="switch01">
                            ZF<input type="text" name="adrs">
                        </div>
                        dbF<input type="text" name="tel">
                    </form>

                    -----------------------------------------------------------

                    y\z
                    --- Java --------------------------------------------------
                    FieldMap field = getFieldMap();
                    field.setValue("switch01", true);
                    -----------------------------------------------------------

                    --- uEU\ ------------------------------------------
                    OF[              ]
                    ZF[              ]
                    dbF[              ]
                    -----------------------------------------------------------

                    y\z
                    --- Java --------------------------------------------------
                    FieldMap field = getFieldMap();
                    field.setValue("switch01", false);
                    -----------------------------------------------------------

                    --- uEU\ ------------------------------------------
                    OF[              ]
                    dbF[              ]
                    -----------------------------------------------------------


                7) G[bZ[W\̈

                    name"errorMessage"<span>^Ö̗悪݂Ƃpirkaɂ莩Iɓ
                    ̓`FbNŔG[bZ[W\܂B
                    ܂AG[`FbNŃG[ƂȂtB[h̔wiF͐ԂȂ܂B
                    ̃tB[hIDŎw肳ꂽIDlƓIDlfor<LABEL>^OA
                    <SPAN>^OG[܂B
                    ̃G[X^CsetErrorMessageManager\bhŕύX\łB


            3.2.3 EChNXiJavaj̊{

                EChNX jp.oarts.pirka.core.win.pirkaWindow hč쐬܂B
                Œ̍\ƂĂ͂OKłB
                iAÓIȉʂ\邾ŉ삵܂j

                ʏWEBAvP[Vł̓f[^̓ZVɕۊǂ܂B
                pirkał̓EChENX̃oϐ͎IɃZVɕۑE擾邽
                ZVӎWEBAvP[V쐬邱Ƃ\łB
                
                ʂ玟ɕ\ʂւ̃f[^̎󂯓nZVoRł͂Ȃnewʂ
                EChEIuWFNg̃f[^󂯓n\bhĂяoƂɂs܂B
                AZVɃf[^ۊǂ邱Ƃ\łBi3.2.11 ZVQƁj
                
                KvȎ̓RXgN^쐬ɏLq܂B
                G[`FbJ[̓o^iqjʂɕ\鏉l̐ݒȂǂ́AōsƗǂ
                傤B
                
                Tu~bg{^NbNꂽƂ́ANbNꂽ^OnameƓ̃\bh
                iANV\bhjĂяo܂B
                ̃\bh΁AȂɂN܂B
                \bhł̃ANVɑΉ鏈Lq܂B

                ̃\bh͈܂B
                ܂A\bh̖߂^ƂĂ void ApirkaResponsijp.oarts.pirka.core.res.pirkaResponsj
                ̔hNX̉ꂩgpł܂B
                ʏ悭gp̂ pirkaRespons ̔hNXł pirkaWindow NXłB
                ܂t@C_E[hȂǂ pirkaFileDownloader gp܂B

                1) ߂^void̃ANV\bh
                    ߂^void̂Ƃ̓ANV\bh̏AēxʁiEBhEIuWFNgj
                    ̓euEU[ɕ\܂B

                    --- HTMLt@C(Abc.html) --------------------------------
                    Abc<br>
                    <form name="sampleForm" method="post">
                        bZ[WF<input type="text" name="msg"><br>
                        <input type="submit" name="submitButton" value="s">
                    </form>
                    -----------------------------------------------------------

                    --- JavaiAbc.javaj --------------------------------------
                    public class Abc extends pirkaWindow {
                        public void submitButton() {
                            FieldMap field = getFieldMap();
                            String message = field.getValueString("msg");
                            field.setValue("msg", message + "")
                        }
                    }
                    -----------------------------------------------------------

                    --- uEU\ ------------------------------------------
                    Abc
                    bZ[WF[                         ]
                    [s]
                    -----------------------------------------------------------

                    bZ[W""͂B

                    --- uEU\ ------------------------------------------
                    Abc
                    bZ[WF[               ]
                    [s]
                    -----------------------------------------------------------

                    s{^NbNB

                    --- uEU\ ------------------------------------------
                    Abc
                    bZ[WF[     ]
                    [s]
                    -----------------------------------------------------------


                2) ߂^pirkaWind̃ANV\bh
                    ߂^    pirkaWind ̂Ƃ͖߂ꂽ pirkaWind IuWFNg̓e
                    uEU[ɕ\iʑJځj܂B

                    --- HTMLt@C(Abc.html) --------------------------------
                    Abc<br>
                    <form name="sampleForm" method="post">
                        bZ[WF<input type="text" name="msg"><br>
                        <input type="submit" name="nextWindow" value="">
                    </form>
                    -----------------------------------------------------------

                    --- HTMLt@C(Xyz.html) --------------------------------
                    Xyz<br>
                    <form name="sampleForm" method="post">
                        <span name="msg2"></span><br>
                        <input type="submit" name="returnWindow" value="߂">
                    </form>
                    -----------------------------------------------------------

                    --- JavaiAbc.javaj --------------------------------------
                    public class Abc extends pirkaWindow {
                        public pirkaWindow nextWindow() {
                            FieldMap field = getFieldMap();
                            //  ʂ͂ꂽ擾
                            String mesage = field.getValueString("msg");
                            //  ʂɃRXgN^œn
                            return new Xyz(message);
                        }
                    }
                    -----------------------------------------------------------

                    --- JavaiXyz.javaj --------------------------------------
                    public class Xyz extends pirkaWindow {
                        public Xyz(String message){
                            FieldMap field = getFieldMap();
                            //  RXgN^œnꂽ\
                            field.setValue("msg2", message);
                        }
                        public pirkaWindow returnWindow() {
                            //  Abc֖߂
                            return new Abc();
                        }
                    }
                    -----------------------------------------------------------

                    --- uEU\ ------------------------------------------
                    Abc
                    bZ[WF[               ]
                    []
                    -----------------------------------------------------------

                    EbZ[Wɂ͂B

                    --- uEU\ ------------------------------------------
                    Abc
                    bZ[WF[     ]
                    []
                    -----------------------------------------------------------

                    Eʃ{^NbNB

                    --- uEU\ ------------------------------------------
                    Xyz
                    
                    [߂]
                    -----------------------------------------------------------

                    E߂{^NbNB

                    --- uEU\ ------------------------------------------
                    Abc
                    bZ[WF[               ]
                    []
                    -----------------------------------------------------------

                    yӁz
                    ̂ƂAbc͕\܂Aŏɓ͂ꂽwx͕̕\
                    Ă܂B
                    ͉XyzAbc֖߂ƂɐVAbcNXnewẴIuWFNg
                    łB

                    pirkałWebʂƃEBhEIuWFNĝ͓̂ƂĈ܂B
                    XyzŖ߂{^NbNƂɍŏ̌ĂяoƂ̉Abc̃IuWFNg
                    ߂΁wx͕\܂B
                    ȉɗ܂B

                    --- JavaiAbc.javaj --------------------------------------
                    public class Abc extends pirkaWindow {
                        public pirkaWindow nextWindow() {
                            FieldMap field = getFieldMap();
                            //  ʂ͂ꂽ擾
                            String mesage = field.getValueString("msg");
                            //  ƎIuWFNgʂɃRXgN^œn
                            return new Xyz(message, this);
                        }
                    }
                    -----------------------------------------------------------

                    --- JavaiXyz.javaj --------------------------------------
                    public class Xyz extends pirkaWindow {
                        private pirkaWindow returnObj;
                        public Xyz(String message, pirkaWindow returnWindowObject){
                            returnObj = returnWindowObject;
                            FieldMap field = getFieldMap();
                            //  RXgN^œnꂽ\
                            field.setValue("msg2", message);
                        }
                        public pirkaWindow returnWindow() {
                            //  RXgN^œnꂽEBhEIuWFNg߂
                            return returnObj;
                        }
                    }
                    -----------------------------------------------------------

                    --- uEU\ ------------------------------------------
                    Abc
                    bZ[WF[               ]
                    []
                    -----------------------------------------------------------

                    EbZ[Wɂ͂B

                    --- uEU\ ------------------------------------------
                    Abc
                    bZ[WF[     ]
                    []
                    -----------------------------------------------------------

                    Eʃ{^NbNB

                    --- uEU\ ------------------------------------------
                    Xyz
                    
                    [߂]
                    -----------------------------------------------------------

                    E߂{^NbNB

                    --- uEU\ ------------------------------------------
                    Abc
                    bZ[WF[     ]
                    []
                    -----------------------------------------------------------

                   ܂AANV\bhnull߂ƁAݕ\ĂWebʂĂяoWeb
                   ʂ̃IuWFNgw肳ꂽƂ݂ȂuEUɕ\܂B
                   ͖߂{^ȂǂɗLłB

                    LTv\[X͈ȉ̗lɏ\łB

                    --- JavaiAbc.javaj --------------------------------------
                    public class Abc extends pirkaWindow {
                        public pirkaWindow nextWindow() {
                            FieldMap field = getFieldMap();
                            //  ʂ͂ꂽ擾
                            String mesage = field.getValueString("msg");
                            //  ʂɃRXgN^œn
                            return new Xyz(message);
                        }
                    }
                    -----------------------------------------------------------

                    --- JavaiXyz.javaj --------------------------------------
                    public class Xyz extends pirkaWindow {
                        public Xyz(String message){
                            FieldMap field = getFieldMap();
                            //  RXgN^œnꂽ\
                            field.setValue("msg2", message);
                        }
                        public pirkaWindow returnWindow() {
                            //  null߂ĂяoƂ̉ʂ\
                            return null;
                        }
                    }
                    -----------------------------------------------------------

					y⑫z
					pirkał͉ʑJڂLĂ邽߃Cxg\bhnull߂
					Ỏʂ\܂ʌĂяoɑJڂɃ[v
					[v̑Jڂ͖ƂȂ܂B

					ʂA -> B -> C -> D -> E -> C -> F -> G ƑJڂƂ
					G̃Cxg\bhnull߂F\܂B
					F̃Cxg\bhnull߂C\܂B
					CCxg\bhnull߂ĂEł͂ȂB\܂B

					 C -> D -> E -> C@̂悤Ƀ[vĂ邩łB
					܂Aʂ̓ꐫ͉ʃIuWFNgł͂ȂʃNXŔf܂B
				
					L̑Jڂł͖肪ʍ\̂Ƃ̓Cxg\bhnullԂ
					߂ׂʂ̃IuWFNg߂悤ɂĂB

                3) ߂^pirkaFileDownloader̃ANV\bh
                    ߂^pirkaFileDownloader ̂Ƃ pirkaFileDownloader IuWFNg߂
                    ɂt@C_E[hsȂ킹邱Ƃł܂B


                ̑AŒIȃ\bhƂĈȉ̃\bhKvɉċLq邱Ƃ\łB

                4) public void onPre();  public pirkaWindow onPre();

                    ANV\bhĂяoOɌĂяo܂B
                    ʂ̏sȂ킹ɕ֗łB
                    ܂̃\bh pirkaWindow IuWFNgԂƃANV\bhĂяo
                    ꂸɂ̃IuWFNg̉ʂ\܂B


                5) public void onElse();@́@public pirkaWindow onElse();

                    javascript Ȃǂ submit \bh name ȂTu~bg{^Nb
                    NꂽƂȂǁAĂяo\bhsȏꍇ pirka Ăяo܂B


                6) public void preDraw();@́@public pirkaWindow preDraw();

                    pirkauEU[ɑMHTMLt@CC[W쐬钼OɌĂяo܂B
                    ̃\bh̖߂l͖܂BiʑJڂ܂j


            3.2.4 ڍ

                pirka  HTML t@CɋLqĂ name ݂̑SẴ^OɂāAȉ̑
                \Ƃ܂B

                Ef[^[\bhgp邱Ƃɂ^O value ̒l̎擾ѐݒs
                @Ƃł܂B
                @ʏ value łA^O̎ނɂĂ value ł͂ȂJn^OƏI^O
                @̊Ԃɑ}܂B
                @f[^1tB[hPʂł̓o͂̂قɉʑŜ̃f[^ꊇDTOiMapIuWF
                @NgjɎ擾i[ABeanIuWFNgƂ̈ꊇ̎擾i[sȂƂł
                @B

                ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B
                @ type A name A value ɂĂ̕ύX͂ł܂B
                @܂A\₻̑̃vpeBl̕ύXsȂ܂B

                ȉ name t^O̎dlɂă^OɋLq܂B

                1) <SPAN name=""></SPAN>
                    Webʏ̓IɕύXł镶̕\Ɏgp܂B
                    EHTMLt@C̊Jn^OI^Oɋ܂ꂽ񂪏ƂȂ܂B
                    Ef[^[\bhŔCӂ̕ݒ肷ƊJn^OI^O̊Ԃɑ}
                    @B
                    ERg[\bhgpăvpeBlς邱ƂɂWebꕶ
                    @@\ON/OFF(ftHgON)Ã^Og̗LwiftHg͗LjA
                    @̂̃^Ȏl̕ύXsȂƂł܂B

                2) <DIV name=""></DIV>
                    Webʏł́i[vjJԂɎgp܂B̃^OɈ͂܂ꂽ͈͂Cӂ̉
                    JԂ܂B

                    Etype  loop ̂Ƃ̓f[^[\bhgpăf[^Q̒ǉ폜s
                    @ƂɂAJn^OI^Oɋ܂ꂽ^ǑJԂ\ƂȂ܂B
                    @ꗗ\Ɏgp܂B

                    EtypeswitcĥƂ̓f[^[\bhŐݒ肵BooleanIuWFNglɂ
                    @Jn^OI^Oɋ܂ꂽ^OHTMLC[WꎞIɍ폜邱
                    @Ƃ\Ƃ܂Bvaluew肷Əl^邱Ƃł܂B
                    @i"true""false"j
            
                    ERg[\bhgpăvpeBlς邱Ƃɂ悱̃^Og̗Lw
                    @iftHg͖jÃ^Ȏl̕ύXsȂƂł܂B

                3) <SCRIPT name=""></SCRIPT>
                    JavaScriptScriptuȂǂɎgp܂B
                    Ef[^[\bhŎ擾łl̏l͊Jn^OI^Oɋ܂ꂽ
                    @Ȃ܂B
                    Ef[^[\bhŔCӂ̕ݒ肷ƊJn^OI^O̊Ԃɑ}
                    @B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B

                4) <FORM name=""></FORM>
                    Eaction ݒŃTu~bg{^NbNT[o[ɐ䂪߂ƕ\
                    @ĂWebʂɑΉEBhEIuWFNg̃ANV\bhĂ΂
                    @܂B
                    E܂AJavaScriptł̃tH[IuWFNgsubmit\bhĂяoƃEB
                    @hEIuWFNg onElse \bhĂ΂܂B
                    Eaction ݒ肳ĂƂ͂̐ݒ肳ꂽURLHTTPR}hs܂B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B
                    ẼtH[Ƀt@CIRg[i<INPUT TYPE="FILE">j݂
                    @method POSTAenctype multipart/form-data lƂĎIɐ
                    @肳܂B

                5) <TEXTAREA name=""></TEXTAREA>
                    Ef[^[\bhŎ擾łl̏l͏ɋ󕶎ƂȂ܂B
                    Ef[^[\bhŔCӂ̕ݒ肷ƊJn^OI^O̊Ԃɑ}
                    @B
                    Ef[^[\bhgpuEUł̃eLXgGARg[ɓ͂ꂽ
                    @̎擾sȂƂł܂B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B

                6) <INPUT TYPE="TEXT" name="" value="l">
                    Ef[^[\bhŎ擾łl̏l͏ɋ󕶎ƂȂ܂B
                    Ef[^[\bhŔCӂ̕ݒ肷valueɑ}܂B
                    Ef[^[\bhgpuEUł̃eLXgRg[ɓ͂ꂽ
                    @̎擾sȂƂł܂B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B

                7) <INPUT TYPE="PASSWORD" name="" value="l">
                    Ef[^[\bhŎ擾łl̏l͏ɋ󕶎ƂȂ܂B
                    Ef[^[\bhŔCӂ̕ݒ肷valueɑ}܂B
                    Ef[^[\bhgpuEUł̃eLXgRg[ɓ͂ꂽ
                    @̎擾sȂƂł܂B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B

                8) <INPUT TYPE="HIDDEN" name="" value="l">
                    Ef[^[\bhŎ擾łl̏lHTMLt@C value ɋLqꂽ
                    @ƂȂ܂B
                    Ef[^[\bhŔCӂ̕ݒ肷valueɑ}܂B
                    Ef[^[\bhgp̃eLXgRg[ Javascript Ŋi[ꂽ
                    @̎擾sȂƂł܂B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B

                9) <INPUT TYPE="RADIO" name="" value="l">
                    EWI{^̖̂͑̃^OƂ͈قȂ薼̂̌$n܂pуA_[
                    @o[ō\TtBbNXt܂B
                    EHTMLC[Ŵ̖̓TtBbNXꂽ̂ƂȂ܂B
                    @iTtBbNXꂽ̂ŃO[sO܂j
                    Ef[^[\bhł͌X̃WI{^ۗLvaluel̐ݒ肨ёI
                    @value l̐ݒAIĂ value l̎擾sȂ܂B
                    EKw̃[vɃWI{^݂Ƃ groupLevel vpeBݒ肵
                    @ǂ̊Kw̃[vŃO[v邩̎w肪\łB
                    @ftHg0ł胋[v̍Ő[ŃO[v܂B
                    @1w肷ƈÕ[v̌JԂPʂŃO[v܂Bȍ~
                    @閈ɊÕ[vŃO[v܂B
                    ERg[\bhgp groupLevel vpeB̕ύXA^Ȏl̕
                    @XsȂƂł܂B

                10) <INPUT TYPE="CHECKBOX" name="">
                    Ef[^[\bhŔCӂ Boolean IuWFNgݒ肵܂B true ݒ肷
                    @`FbN܂B
                    Ef[^[\bhgp`FbN{bNX̏Ԃ̎擾sȂƂł܂B
                    @true ̓`FbNꂽԂ\܂B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B

                11) <INPUT TYPE="FILE" name="" value="l">
                    Ef[^[\bhŎ擾łl̏l͏ɋ󕶎ƂȂ܂B
                    Ef[^[\bhŔCӂ̕ݒ肷valueɑ}܂B
                    @Awǂ̃uEUł value ɒlݒ肵ĂuEU̐ŉ
                    @ɂ͕\܂B(l͓Ă܂)
                    Ef[^[\bhgpuEUł̃eLXgRg[ɓ͂ꂽ
                    @it@Cj̎擾уAbv[hꂽt@Cf[^ Stream ƂĎ擾
                    @邱Ƃł܂B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B

                12) <INPUT TYPE="SUBMIT" name="" value="l">
                    Ef[^[\bhŎ擾łl̏l value ɋLqꂽƂȂ܂B
                    Ef[^[\bhŔCӂ̕ݒ肷 value ɑ}{^̂Ƃ
                    @\܂B
                    Eaction ݒ FORM ^OɔzuĂTu~bg{^NbN
                    @ƁAEBhEIuWFNg̓̂̃\bhĂяo܂B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B

                13) <INPUT TYPE="IMAGE" name="">
                    Eaction ݒ FORM ^OɔzuĂ邱̃C[WNbN
                    @EBhEIuWFNg̓̂̃\bhĂяo܂B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B
                    E܂ARg[\bhgpăC[W쐬IuWFNgo^IȃC
                    @[W쐬\邱Ƃ\łB
                    @(C[W쐬IuWFNgo^SRC͎IɕύX܂)

                14) <BUTTON TYPE="SUBMIT" name=""></BUTTON>
                @yIE6ł͐X|XԂȂׁAgp֎~̉^pƂ܂z
                    ECӂ value LqĂ pirka ɂقȂlɒu邽 value
                    @͎w肵ȂłB
                    Eaction ݒ FORM ^OɔzuĂ邱̃{^NbN
                    @EBhEIuWFNg̓̂̃\bhĂяo܂B
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B

                15) <SELECT name=""></SELECT>
                    Ef[^[\bhŎ擾łl String[] IuWFNgł <option> ^O
                    @selected w肳Ă value l̔zƂȂ܂B
                    @value ݂ȂΕ\eLXgzɊi[܂B
                    Ef[^[\bhŔCӂ String[] IuWFNgݒ肷ƁA̕ƈꗗf
                    @[^ value vꗗf[^I܂B
                    @value ݂Ȃꗗf[^̂Ƃ value ̑ɕ\eLXgƈ
                    @v邩̔rsȂ܂B
                    Ef[^[\bhgpuEUőIꂽSĂ̈ꗗڂ value i
                    @value݂ȂΕ\j String[] IuWFNgɊi[܂B
                    ERg[\bhgpāAꗗf[^^Ȏl̕ύXsȂƂ
                    @ł܂B
                    Eꗗf[^ jp.oarts.pirka.core.ctrl.SelectList NX̃IuWFNgłB
                    Esize w肵Ȃƃv_Ej[Rg[ɁA size w肷
                    @ƃXgRg[ɂȂ܂B
                    Eoptgroupɂ͑ΉĂȂߎgpł܂B

                16) <IMG name="">
                    ERg[\bhgpāAꗗf[^^Ȏl̕ύXsȂƂ
                    @ł܂B
                    E܂ARg[\bhgpăC[W쐬IuWFNgo^IȃC
                    @[W쐬\邱Ƃ\Ƃ܂B
                    @(C[W쐬IuWFNgo^SRC͎IɕύX܂)

                17) <A name="">
                    Ehref ɋ󕶎ݒ肳ĂƂɃNbNƁAEBhEIuWFN
                    @g̓̂̃ANV\bhĂяo܂B
                    Ehref  URL i[Ă΁A URL ɃWvANV\bh
                    @Ăяo܂B
                    EA ^O SUBMIT ƈقȂtH[̊eRg[ɓ͂l Web T[o[
                    @֑MȂ߁ÃCxg\bhŃf[^[\bhgpĂeR
                    @g[̃f[^[l͓͂ꂽlɂ͂ȂȂ̂ŒӂKvłB
                    EA ^O𗘗p SUBMIT sȂ́AA ^O JavaScript Lq Form Iu
                    @WFNg SUBMIT \bhĂяoAÑTu~bgݒw3.2.6 Rg
                    @[\bh^2-13) ÑTu~bgݒQƁxsĂB
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B

                18) <LABEL name="">
                    Ef[^[\bhgpăxl̕ύX\łB
                    ERg[\bhgpă^Ȏl̕ύXsȂƂł܂B


            3.2.5 f[^[\bh

                EBhEIuWFNg Web ʂ֓Iȕ̕\A Web ʂœ͂ꂽf
                [^̎擾Af[^[\bhgpčsȂ܂B
                f[^[\bh́AEBhEIuWFNg̃NX̐eNXł
                jp.oarts.pirka.core.win.pirkaWindow NX jp.oarts.pirka.core.kernel.FieldMap
                NXɎĂ܂B
                f[^\bh̎ނȉɎ܂B

                1) pirkaWindowɎĂ郁\bh

                    1-1) tB[h}bv̎擾

                        Web ʏɑ݂ name SẴ^Õ}bvitB[h}bvj
                        擾܂B
                        X̃f[^ɑ΂f[^\bhARg[\bh͂̃}bvʂčs
                        Ȃ܂B
                        ܂Ã\bh CheckAndTeller NXiqjłgp\łB

                        public FieldMap getFieldMap();


                    1-2) tB[h}bv̐VK쐬

                        [vŎgptB[h}bvVKɍ쐬܂B
                        ̃\bhɂč쐬ꂽtB[h}bv FieldMap#addFieldMap \b
                        hgpĒǉ邱ƂɂA[v쐬邱Ƃł܂B

                        public FieldMap createLoopFieldMap(String loopFieldName);


                    1-3) [ṽftHgtB[h}bv̎擾

                        [vŎgpftHg̃tB[h}bv擾܂B
                        ̃\bhŎ擾tB[h}bv̊etB[hɐݒ肵l
                        tH[}bg₻̑ݒcreateLoopFieldMap\bhō쐬
                        tB[h}bṽftHglƂȂ܂B
                        ܂setDto\bhAsetBeanList\bhŃf[^i[[vɂp܂B
                        ̃\bhŎ擾tB[h}bvFieldMap#addFieldMap\bhɂ
                        gpł܂B

                        public FieldMap getDefaultLoopFieldMap(String loopFieldName);


                    1-4jDTOIuWFNg擾

                        ʏ̓̓tB[h̑SĂ̒lDTOIuWFNgiMapIuWFNgjƂĎ
                        ܂B
                        L[̓tB[hAl̓tB[hli[܂B
                        MapύXł͉ʕ\ɂ͔f܂B
                        ʂɔfƂɂ͕K setDto \bhgpĉB
                        {Iɂ̓`FbN{bNXȊO̓͏StringIuWFNgA`FbN{bN
                        X Boolean IuWFNgƂĒli[܂B
                        Select ^Oł̕I TAB ŋ؂ꂽ String ƂȂ܂B
                        [v List IuWFNg Map IuWFNgi[܂B
                        tB[h̕ύX⑼̃NXIuWFNgɕύX Map IuWFNg쐬
                        Ƃ̓Ro[^[w肵ĂB

                        public Map<String, Object> getDto(Converter... converters);


                    1-5) DTOIuWFNg̐ݒ

                        DTOIuWFNg̓eʂ̊etB[hɔf܂B
                        L[̓tB[hAl̓tB[hli[܂B
                        [v List IuWFNg Map IuWFNgi[Ă邱ƂOƂ
                        ܂B
                        ڂ݂ȂꍇtB[h}bv̒l̒u͍sȂ܂B
                        ڂ݂l null ̂Ƃ̓[v0񃋁[vA`FbN{bNX false A
                        ̑͋󕶎Zbg܂B
                        Select ^Oł̕I TAB ŋ؂ꂽ String Ƃ܂B
                        tB[h̕ύX⑼̃NXIuWFNgɕύX Map IuWFNg쐬
                        Ƃ̓Ro[^[ݒ肷邱Ƃɂ\ƂȂ܂B

                        public void setDto(Map<String, Object> dto, Converter... converters);


                    1-6) BeanIuWFNgւ̃f[^ݒ

                        ʓ͍ڒl Bean IuWFNg֊i[܂B
                        tB[hƓ Bean IuWFNg̃o֒li[܂B
                        [vf[^͑ΏۊOƂȂ܂B
                        BeanIuWFNg̃o[̌^StringABooleanAIntegerALongADateA
                        TimeATimestampABigDecimal̎ɂ͎ϊs܂B
                        tB[h̕ύX⑼̃NXIuWFNgɕύX Bean IuWFNgɐݒ
                        Ƃ̓Ro[^[w肷邱Ƃɂ\ƂȂ܂B

                        public void getBean(Object beanObject, Converter... converters) ;


                    1-7) ListIuWFNg̎擾

                        FieldMap IuWFNg̎w肳ꂽ[vtB[hɊi[Ăf[^
                        List IuWFNg쐬܂B
                        List IuWFNgi[f[^̓p[^Ŏw肳ꂽ Bean NX̃Iu
                        WFNgłB
                        tB[hƓ Bean IuWFNg̃o֒li[܂B
                        tB[h̕ύX⑼̃NXIuWFNgɕύX Bean IuWFNgɐݒ
                        Ƃ̓Ro[^[w肷邱Ƃɂ\ƂȂ܂B

                        public List getBeanList(Class beanClass, FieldMap fieldMap,
                                String loopFieldName, Converter... converters);


                    1-8) BeanIuWFNg̔f

                        Bean IuWFNg̓eʂ̊etB[hɔf܂B
                        Bean IuWFNg݂Ƃ́AȒPɊetB[hɃf[^ݒ肳邱
                        ł܂B
                        [v͑ΏۊOƂ܂B
                        Bean IuWFNgɓ̃o݂ȂꍇAtB[h}bv̒l̒u
                        ͍sȂ܂B
                        Select ^Oł̕I TAB ŋ؂ꂽ String Ƃ܂B
                        BeanIuWFNg̃o[̌^StringABooleanAIntegerALongADateA
                        TimeATimestampABigDecimal̎ɂ͎ϊs܂B
                        tB[h̕ύX⑼̃NXIuWFNgɕύX Map IuWFNg쐬
                        Ƃ̓Ro[^[ݒ肷邱Ƃɂ\ƂȂ܂B

                        public void setBean(Object beanObject, Converter... converters);


                    1-9) ListIuWFNg̔f

                        List Ɋi[Ă Bean IuWFNg̓ew肳ꂽ[vtB[h
                        FieldMapIuWFNg֊i[܂B
                        Bean IuWFNg List ݂Ƃ́AȒPɈꗗ\sȂƂł
                        ܂B
                        Bean ɍڂ݂ȂꍇtB[h}bv̒l̒u͍sȂ܂B
                        Select ^Oł̕I TAB ŋ؂ꂽ String Ƃ܂B
                        tB[h̕ύX⑼̃NXIuWFNgɕύX Map IuWFNg쐬
                        Ƃ̓Ro[^[ݒ肷邱Ƃɂ\ƂȂ܂B

                        public void setBeanList(List list, FieldMap fieldMap,
                                String loopFieldName, Converter... converters);


                    1-10) Cxg̃[vCfbNX̎擾

                        ANV\bhĂяoꂽCxg̃[vCfbNX擾܂B
                        [ṽ{^NbNꂽƂԖڂ̃{^NbNꂽCf
                        bNXƂĎ擾ł܂B
                        [vÕCxg̓TCY0̔z񂪎擾܂B
                        [ṽCxgł͈ԊÕ[vCfbNX0AȉɂȂقǃC
                        fbNXāÃCfbNXli[܂B

                        public int[] getActionLoopIndex();


                2) FieldMapɎĂ郁\bh


                  2-1) 1tB[hւ̃f[^̐ݒ

                    fieldName Ŏw肳ꂽ HTML t@C̏̓ꖼ́i name lj̃^O
                    value ͊Jn^O`I^OԂɎw肳ꂽ value l𖄂ߍ݂܂B
                    value Jn^O`I^OԂ̂ǂɖߍ܂邩͂̃^OɂČ܂
                    ܂B
                    ʏ value lɖߍ܂܂B

                    public void setValue(String fieldName, String value);
                    public void setValue(String fieldName, int value);
                    public void setValue(String fieldName, Integer value);
                    public void setValue(String fieldName, long value);
                    public void setValue(String fieldName, Long value);
                    public void setValue(String fieldName, BigDecimal value);
                    public void setValue(String fieldName, Date value);
                    public void setValue(String fieldName, Time value);
                    public void setValue(String fieldName, Timestamp value);

                    //  SELECT^OŕIɎgp
                    public void setValue(String fieldName, String[] values);

                    //  `FbN{bNXAXCb`Ŏgp
                    public void setValue(String fieldName, boolean value);
                    public void setValue(String fieldName, Boolean value);

                    //  WI{^ŎgpȀꍇfieldName̓TtBbNX𔲂Ow
                    public void setGroupValue(String fieldName, String value);
					public void setGroupValue(String fieldName, boolean value);
					public void setGroupValue(String fieldName, Boolean value);
					public void setGroupValue(String fieldName, int value);
					public void setGroupValue(String fieldName, Integer value);
					public void setGroupValue(String fieldName, long value);
					public void setGroupValue(String fieldName, Long value);
					public void setGroupValue(String fieldName, BigDecimal value);
					public void setGroupValue(String fieldName, Date value);
					public void setGroupValue(String fieldName, Time value);
					public void setGroupValue(String fieldName, Timestamp value);


                  2-2) 1tB[h̃f[^̎擾

                    fieldName Ŏw肳ꂽ HTML t@C̏̓ꖼ́i name lj̃^O
                    Webʂ͂ꂽl擾܂B
                    ͂`ɑΉIuWFNgŃf[^̎擾\łB

                    public String getValueString(String fieldName);
                    public Integer getValueIntObject(String fieldName);
                    public int getValueInt(String fieldName);
                    public int getValueInt(String fieldName, int defaultValue);
                    public Long getValueLongObject(String fieldName);
                    public long getValueLong(String fieldName);
                    public long getValueLong(String fieldName, long defaultValue);
                    public BigDecimal getValueBigDecimal(String fieldName);
                    public Date getValueDate(String fieldName);
                    public Time getValueTime(String fieldName);
                    public Timestamp getValueTimestamp(String fieldName);

                    //  SELECT^OŕIɎgp
                    public String[] getValueStrings(String fieldName);

                    //  `FbN{bNXAXCb`Ŏgp
                    public boolean getValueBoolean(String fieldName);

                    //  WI{^ŎgpȀꍇfieldName̓TtBbNX𔲂Ow
                    public String getGroupValue(String fieldName);
					public String getGroupValueString(String fieldName);
					public boolean getGroupValueBoolean(String fieldName);
					public boolean getGroupValueBooleanObject(String fieldName);
					public Integer getGroupValueIntObject(String fieldName);
					public int getGroupValueInt(String fieldName);
					public int getGroupValueInt(String fieldName, int defaultValue);
					public Long getGroupValueLongObject(String fieldName);
					public long getGroupValueLong(String fieldName);
					public long getGroupValueLong(String fieldName, long defaultValue);
					public BigDecimal getGroupValueBigDecimal(String fieldName);
					public Date getGroupValueDate(String fieldName);
					public Time getGroupValueTime(String fieldName);
					public Timestamp getGroupValueTimestamp(String fieldName);

                    //  t@CAbv[hŎgp
                    public InputStream getInputStream(String fieldName) throws IOException;


                  2-3) [vւ̃f[^ݒ

                    pirkaWindow#createLoopFieldMap \bhō쐬tB[h}bv̒ǉu
                    A폜sȂ܂B

                    //  u
                    public void setFieldMap(String fieldName, int index, FieldMap fieldMapValue);
                    //  ǉ
                    public void addFieldMap(String fieldName, FieldMap fieldMapValue);
                    //  폜
                    public void removeFieldMap(String fieldName, int index);
                    //  S폜
                    public void clearFieldMap(String fieldName)G


                  2-4) [ṽf[^擾

                    [vtB[hi[ĂtB[h}bv擾܂B

                    //  o^ĂtB[h}bv擾
                    public int getFieldMapSize(String fieldName);
                    //  w肳ꂽʒũtB[h}bv擾
                    public FieldMap getFieldMap(String fieldName, int index);
                    //  o^ĂStB[h}bvzƂĎ擾
                    public FieldMap[] getFieldMaps(String fieldName);


                  2-5) Sf[^ɂ

                    public void clearAllValue();


            3.2.6 Rg[\bh

                EBhEIuWFNg HTML t@C̊eRg[[ieLXgtB[h{^
                j̑ Select ^Öꗗ̐ݒ^ύXA̓f[^̃`FbN@ݒA\t
                H[}bgw蓙Rg[\bhgpčsȂ܂B
                Rg[\bh̓EBhEIuWFNg̃NX̐eNXł
                jp.oarts.pirka.core.win.pirkaWindow NXɎĂ܂B
                Rg[\bh̎ނȉɎ܂B

                1) pirkaWindowɎĂ郁\bh

                    1-1) ̓f[^`FbNp\bh

                        HTML t@C Web ʂœ͉\ȃ^Oɓ͂ꂽl`FbNIuW
                        FNg̓o^sȂ܂B
                        `FbN͐䂪T[o[ɖ߂ꂽɎōsȂ܂B
                        A`FbNsݒŁwsȂxݒ肪ꂽTu~bg{^
                        ł̓`FbN͍sȂ܂B

                        `FbN setCheck \bh̓o^ɍsȂAG[\̏Ԃŕ\
                        ܂B

                        `FbNo^̓rɃ`FbNu[J[o^邱Ƃł܂B
                        `FbNsȂčsߒŃ`FbNu[J[o^Ă|C
                        gŊɃG[ĂAȍ~̃`FbNXLbv܂B
                        `FbNo^̓rŌɃ`FbN^[i[o^邱Ƃł܂B
                        `FbN^[i[̓`FbNu[J[ƓlɃG[ĂȌ̃`F
                        bNXLbv܂B
                        ܂AXLbvɐ pirka Ɉړʂĕ`悵܂B
                        `FbN^[i[Ōɓo^ĂȂƃG[ĂCxg\b
                        hĂяo܂B

                        Gg[|CgNXŃbZ[W ENUM NX̓o^sȂꍇAString
                        IuWFNg̃bZ[W̓^CG[邽ߎgp֎~ɂȂ܂B
                        ̓bZ[ẄꌳǗsȂƂɗLłB

                        ܂A`FbNŃG[ƂȂ̓^OɊ֘AtĂ LABEL ^ÕX^
                        C͎IɃG[X^CƂȂ܂B
                        
                        ̑̐łA`FbJ[̓WI{^ɂ͐ݒł܂B


                        1-1-1) `FbJ[o^E폜

                                //  `FbJ[̒ǉiG[bZ[WpirkãftHgEgpj
                                protected void addCheck(String fieldName, Checker... checker);
                                //  `FbJ[̒ǉiG[bZ[W͔Cӂ̃bZ[Wgpj
                                protected void addCheck(String fieldName, String message,
                                             Checker... checker);
                                //  `FbJ[̒ǉiG[bZ[W͎Oo^Ăenum̒lgpj
                                protected void addCheck(String fieldName, pirkaMessage message,
                                             Checker... checker);
                                //  `FbNe[ij̒ǉ
                                protected void addCheck(CheckAndTeller... checckAndTeller);
                                //  u[J[̒ǉ
                                protected void addErrorCheckBreak();
                                //  ^[i[̒ǉ
                                protected void addErrorCheckReturner();
                                //   o^ς݂̑S`FbJ[폜
                                protected void clearCheck();


                        1-1-2) `FbJ[

                            Checker  pirka WŗpӂIuWFNgNX쐬IuW
                            FNgA[U[Ǝɍ쐬IuWFNgw肵܂B
                            w肳ꂽƂ AND iSẴ`FbJ[OKłȂƂ̓G[j
                            ƂȂ܂B

                            pirkaWɗpӂ`FbJ[IuWFNg
                                K{                            PirkaChecker.required
                                t                                PirkaChecker.date
                                                                PirkaChecker.time
                                                                PirkaChecker.datetime
                                intl                               PirkaChecker.intValue
                                longl                              PirkaChecker.longValue
                                li܂ށj                    PirkaChecker.numeric
                                ʓISQLCWFNV΍     PirkaChecker.sqlInjection
                                    w+,="'|;\x̓G[Ƃ܂B
                                    ̃`FbJ[̎wőSĂSQLCWFNVɑ΂ĈS
                                    ۏ؂邱Ƃ͂ł܂B
                                    SQLŎgpꕶ̓f[^x[X̎ޖɊgĂ邽߁A
                                    gpSQLA{ꕶR[hADBւ̃ANZX@ɑ΍􂪕KvƂȂ܂B


                            pirkaWɗpӂ`FbJ[NX
                                            PirkaCheckerLength
                                ͈            PirkaCheckerNumericRange
                                ͕        PirkaCheckerString
                                                ͕`FbNNX̃RXgN^ɗ^镶ȉ
                                                L܂B
                                                ͕w\ł肻̂ǂɂYȂ݂ƃG[
                                                ƂȂ܂B
                                                
                                                p(0`9)               PirkaCheckerStringChars.NUM
                                                pia`zj             PirkaCheckerStringChars.LOW_ALPHABET
                                                p啶iA`Zj             PirkaCheckerStringChars.HIGHT_ALPHABET
                                                SĂ̔p               PirkaCheckerStringChars.HALF
                                                SĂ̑Sp               PirkaCheckerStringChars.WIDE
                                                SpЂ炪                 PirkaCheckerStringChars.WIDE_HIRAGANA
                                                SpJ^Ji                 PirkaCheckerStringChars.WIDE_KATAKANA
                                                pJi                     PirkaCheckerStringChars.HARF_KANA
                                                pXy[X                 PirkaCheckerStringChars.SPACE
                                                SpXy[X                 PirkaCheckerStringChars.WIDE_SPACE
                                                [AhX               PirkaCheckerStringChars.MAIL
                                                pXiMS-Windowsj       PirkaCheckerStringChars.PATH_WIN
                                                ̑                       PirkaCheckerStringCharsNX
                                                                             ̃RXgN^[ɗ^ꂽ
                                                                             
                                                                             ܂A
                                                                             PirkaCheckerStringCharsIF
                                                                             NX̃IuWFNg

                        1-1-3) `FbNe[

                            CheckAndTeller̓`FbNs̓ŃG[ǉIuWFNgłB
                            ̃IuWFNgł͑SĂ̓̓f[^l擾ł܂B
                            ֘AG[`FbNȂǂɎgp܂B


                        1-1-4) `FbN
                            ͒l̃`FbNsȂ܂B
                            ̃`FbN͎`FbNƓłA`FbNe̓`FbJ[o^E
                            폜œo^ꂽełB
                            `FbJ[Ƃă^[i[o^ĂĂG[ANV
                            \bĥ̃\bhĂяoAȍ~͍̏sȂ܂B
                            ʏpirkaIɃ`FbNsȂ܂AonElse\bh⎩`Fb
                            N֎~ɂꂽTu~bg̃ANV\bhł͎`FbN͍sȂ
                            B

                        1-1-5) G[̎擾

                            `FbN܂check\bhŔG[̎擾

                            protected int getAutoCheckErrorCount();


                    1-2) G[bZ[Wo^

                        `FbNcheck\bhŔG[bZ[W͎Iɓo^
                        ܂B
                        AANV\bhCheckAndTellerIuWFNgœƎȃG[`F
                        bNsȂƂɂ͓o^KvƂȂ̂ŁÃ\bhŃG[bZ[W
                        o^܂B

                        protected void addError(String message);
                        protected void addError(pirkaMessage message);
                        protected void addError(String fieldName, String message);
                        protected void addError(String fieldName, pirkaMessage message);


                    1-3) G[bZ[W}l[W[̓o^

                        G[bZ[W̃CAEgȂǂύXƂ͓Ǝ̃G[bZ[W}l
                        [W[o^܂B
                        G[bZ[W}l[W[ErrorMessageManagerIFĂB

                        //  G[bZ[W}l[W[o^
                        public void setErrorMessageManager(
                                ErrorMessageManagerIF errorMessageManager);


                2) FieldMapɎĂ郁\bh

                    2-1) ^O

                        HTMLt@Cɑ݂ name ^Ă^Ȏ̒ǉE擾
                        폜sȂ܂B
                        optionMap ݒ肷Ƃ̓L[AllƂȂ܂B
                        ܂̂Ƃ͕̑KpƂĂB

                        //  PƂŎgp鑮izzz=bbbł͂Ȃ`jݒ
                        public void setOption(String fieldName, String optionName);
                        //  ݒ
                        public void setOption(String fieldName, String optionName, String optionValue);
                        //  }bvݒ肵܂B}bṽL[͑Al͑lƂȂ܂
                        public void setOption(String fieldName, Map<String, String> optionMap);
                        //  ݂Ă邩̊mF
                        public boolean isOptionExist(String fieldName, String optionName);
                        //  l擾
                        public String getOption(String fieldName, String optionName);
                        //  }bv擾
                        public Map<String, String> getOption(String fieldName);
                        //  폜
                        public void clearOption(String fieldName, String optionName);
                        //  ݒ肳Ă鑮Sč폜
                        public void clearOption(String fieldName);


                    2-2) ꗗ

                        SELECT^OɈꗗ̐ݒE擾폜sȂ܂B

                        //  IꗗXg̐ݒ
                        public void setSelectList(String fieldName, SelectList selectList);
                        //  IꗗXg̎擾
                        public SelectList getSelectList(String fieldName);
                        //  IꗗXg̑Sڂ폜
                        public void clearSelectList(String fieldName);


                    2-3) \tH[}bg

                        <span>^O<input type="text">^Oɕ\tH[}bg̐ݒE擾폜s
                        ܂B

                        //  \tH[}bgݒ
                        public void setFormat(String fieldName, FieldFormat fieldFormat);
                        //  \tH[}bg擾
                        public FieldFormat getFormat(String fieldName);
                        //  \tH[}bg폜
                        public void clearFormat(String fieldName);

                        w\ȃtH[}[gjp.oarts.pirka.core.util.format.FieldFormatC^[
                        tF[XNX̃IuWFNgłB

                        pirka̕WƂĈȉ̃NX݂܂B

                            EDateFieldFormat       ttH[}bg
                                    RXgN^ŏiSimpleDateFormatƌ݊jn
                            EDateTimeFieldFormat   ttH[}bg
                                    RXgN^ŏiSimpleDateFormatƌ݊jn
                            ETimeFieldFormat       tH[}bg
                                    RXgN^ŏiSimpleDateFormatƌ݊jn
                            ENumericFieldFormat    ltH[}bg
                                    RXgN^ŏiDecimalFormatƌ݊jn


                    2-4) G[ݒ

                        `FbN check \bhŃG[ƂȂtB[hɎIɃG[
                        ݒ肳܂AANV\bh CheckAndTeller IuWFNgœƎ
                        G[`FbNsȂɃG[bZ[Wo^郁\bhłB

                        G[ݒ肳ꂽtB[h̓G[ĕ\܂B

                        //  G[tOݒ肷
                        public void setError(String fieldName, boolean errorFlag);
                        //  G[ԂmF
                        public boolean isError(String fieldName);


                    2-5) Webꕶϊ@\ON/OFF

                        ̋@\OFFɂ'<'̃^OŎgp镶̕ϊsȂ܂B
                        SPAN^OŎgp܂B
                        ftHgONłB

                        //  Webꕶϊ@\ݒ
                        public void setSafeMode(String fieldName, boolean safeFlag);
                        //  Webꕶϊ@\ݒmF
                        public boolean isSafeMode(String fieldName);


                    2-6) ^Oʂ̎w

                        ̋@\OFFɂƑΉ^OHTMLt@C폜܂B
                        ^Oň͂܂ꂽe͍폜܂B
                        DIV,SPAN^OŎgp܂B
                        ftHgDIV^OłOFFASPAM^OłONłB

                        //  ^Oʂ̎w
                        public void setTagEffective(String fieldName, boolean tagEffective);
                        //  ^Oʂ̎擾
                        public boolean isTagEffective(String fieldName);


                    2-7) O[vx̎w

                        O[vsȂ[v̊Kww肵܂B
                        [ṽWI{^Ŏgp܂B
                        ftHg0łB

                        //  O[vx̎w
                        public void setGroupLoopLevel(String fieldName, int groupLevel);
                        //  O[vx̎擾
                        public int getGroupLevel(String fieldName);


                    2-8) IDAforTtBbNXtw

                        [vID,forɃ[vʗp̃TtBbNX̎It@\̎w
                        B
                        [vLABEL^OƂɊ֘ARg[Ŏgp܂B
                        ftHgtrueitjłB

                        public void setSuffixFlag(String fieldName, boolean suffixFlag);


                    2-9) C[WIuWFNg̐ݒ

                        C[WIuWFNgݒ肵܂B
                        IMG^OA<input type="image">^OŎgp܂B
                        public void setImage(String fieldName, pirkaImage image);


                    2-10) `FbNsݒ

                        `FbNsȂ킹邩̐ݒsȂ܂B
                        Tu~bg{^̃ANV\bhĂяoRg[tB[hɎgp
                        ܂B
                        ftHgtruei`FbNsȂjłB

                        public void setAutoCheck(String fieldName, boolean autoCheckFlag) {


                    2-11) ȃtB[h̐ݒ

                        G[bZ[Wɕ\鐳ȃtB[hi{ꖼȂǁj̐ݒsȂ
                        ܂B
                        ̐ݒsȂȂ΃tB[hp܂B

                        //  ݒ
                        public void setOfficialFieldName(String fieldName, String officialFieldName);
                        //  擾
                        public String getOfficialFieldName(String fieldName);


                    2-12) Ajax̐ݒ

                        Script^OAjaxScriptIuWFNg̐ݒsȂ܂B
                        AjaxɂĂ̏ڍׂ3.2.10 AjaxQƂĂB

                        //  ݒ
                        public void setAjaxScript(String fieldName, AjaxScript ajaxScript);
                        //  擾
                        public AjaxScript getAjaxScript(String fieldName);


                    2-13) ÑTu~bgݒ

                        A^OiNjNbNƂɃTu~bg{^Ɠl̓sݒłB
                        Tu~bg{^Ɠl̎G[`FbN͂ꂽl̎擾\ƂȂ܂B
                        Tu~bgݒsƂA^Ohref̐ݒyonClick̐ݒ͖ƂȂ܂B
                        clearSubmitScript\bhō폜ƖƂȂl͕܂B
                        setSubmitScript\bh̓Tu~bgsFORM^O̎w肪KvłB
                        w肷FORM^O̓[vɑ݂Ă͂܂B
                        s̃uEUjavascriptLłȂΓ삵܂B
                        
                        //  ݒ
                        public void setSubmitScript(String dieldName, String formName);

                        //  ݒ폜
                        public void clearSubmitScript(String dieldName);


            3.2.7 bNAbv@\

                    쐬HTMLt@CuEU[̃[Jt@Cǂݍ݂ŕ\郂bNAbv
                    WebT[o[瑗ꂽ\铮IWebAvP[VƂē삷
                    ƂɓeύXKvƂ́Aȉ̑у^Ogp邱Ƃɂ
                    HTMLt@CoŎgp\ƂȂ܂B

                    EbNAbv͕KvȑT[o[쎞ɂ͕sKvȑƂ́A
                    @̓pirka_delete_t^Oɒǉ邱ƂɂAT[o[
                    @쎞ɂ͍͂̑폜܂B
                        ex)
                            bNAbvF<image name="image01"
                                                src="../img/abc.gif" pirka_delete_src>
                            T[o[쎞F<image name="image01">

                    EpirkaœIo͂ƂHTMLt@C̃^Ȏ"pirka_change_"Ŏn܂
                    @^O"pirka_change_"폜ɒu܂B
                    EpirkaœIo͂ƂHTMLt@C<pirka_mockup></pirka_mockup>Ɉ
                    @܂ꂽ͈͂̃RgȊO͍̕폜RgLƂȂ܂B

                        <pirka_mockup>
                            <!--
                            <abc>
                                
                            </abc>
                            -->
                            <xyz>
                                    
                            </xyz>
                        </pirka_mockup>

                    

                            <abc>
                                
                            </abc>

                    ƂȂ܂B
                    Ȃ݂ɃbN쎞ɂ
                    <pirka_mockup></pirka_mockup>̓uEUŖ邽
                            <xyz>
                                    
                            </xyz>
                    LƂȂ܂B

                    ܂ACN[h@\i3.2.8 CN[h@\QƁjgpĂHTMLt@C
                    ł͒ʏ탂bNƂĂ͎gpł܂B
                    ̓bNAbvRpCgpăCN[hς݂HTMLt@C쐬
                    Ƃɂ邱Ƃ\łB

                    ybNAbvRpC̎gp@z
                       
                       java -jar pirka.jar HTMLt@CpX oHTMt@CpX
                       

            3.2.8 CN[h@\

                    HTMLt@CɈȉ̍\ŃRgLq邱Ƃɂ葼HTMLt@C̓e
                    }Ƃ\ƂȂ܂B
                    
                    <!--#include dir="" packege="" file="" -->

                      ̓bNAbvRpCp̃t@Ci[fBNgi΃pXA΃pXj
                      łB
                      ΃fBNgw肳ƃCN[hRgLڂĂt@C
                      ̑΃pXƂȂ܂B

                      HTML\[Xt@CiT[o[^pjƂĈꂽ̃t@Ci[p
                      bP[WłB

                      CN[hsȂHTMLt@CłB
                      gqhtml̏ꍇ͂̃t@Cbody^O̓̂݃CN[h܂B
                      gqhtmlȊÔƂ̓t@C̑Se}܂B
                      
                      
            3.2.9 ʃEBhẼCX^XǗ
                    JavaScriptŐVȃEChE쐬鎞ɂ͎w肷URL__PIRKA__INS__
                    p[^ǉĔCӂ̃CX^Xw肵ĂB
                    pirka̓CX^XɃf[^̎ۑǗs܂B
                 
                    ƂURL
                    
                        http://localhost/pirkaSample/sample
                    
                    ̎ɂ͈ȉ̗lɂĕʃEChEJ܂B
                    
                        <input type="button" value="TuEChEAJ" 
                            onClick="window.open('./sample?__PIRKA__INS__=AWIN,'subA','');">
                    
                    ̂ƂCX^XƃEChEiLłsubaj̑gݍ킹
                    ɈɂĂƊJʂpirikaŊǗf[^̐
                    ۂA\ʏQł܂B
                 
                    ܂AʃEChEgpƂEntryPointNXhĐV
                    Gg[|Cg쐬邱ƂKvłB
                    ̃NXgetSubWindow߂PirkaWindowIuWFNgʃEChE
                    \܂B
                    
                    ʃEChԂ̃f[^̎󂯓nWEBT[o[ł̓ZVgp܂B
                    uEUłJavascriptōsĂB
                    
                    TvƂpirkaSamplejp/oarts/pirka/sample/s12/SubWin01.html
                    QƂĂB
            
            
            3.2.10 Ajax
                    
                    pirkał͓JavascriptLqȂĂAjaxgpWEBT[o[Ɣ񓯊ʐM
                    sƂ\łB
                    ipirkaT|[gĂȂGȏsƂJavaScriptLq
                    Kv܂j
                    
                    AjaxgpɂAjaxScriptIuWFNg쐬ASCRITP^O
                    setAjaxScript\bhgpăZbg܂B
                    
                    AjaxScriptIuWFNgɂWEBuEU񓯊őMf[^M
                    Ƃɓ삵srun\bhƁAuEUœ삵s
                    JavaScript̃bp[IuWFNgō\܂B
                    
                    run\bhł̓uEU[瑗Mf[^iMap<String, String[]>j
                    Ŏ擾AuEU[ւ̃X|XMResponseDataIuWFNg쐬
                    ߂Ƃɂs܂B
                    
                    JavaScript̃bp[IuWFNg̓T[o[ւ̒ʐMOAʐMAG[
                    ꂼ̃^C~Oœ삳悤Ɉȉ̃\bhgpĕݒ
                    邱Ƃł܂B
                      1) ʐMO
                         addPreScript
                      2) ʐM
                         addResScript
                      3) G[iZV^CAEg܂ށj
                         addErrScript
                    
                    ȉɒ`ςJavaScript̃bp[IuWFNg܂B
                    @1) JavaScriptAlert
                  @     Œ蕶̃bZ[WWEBuEU[̃X|Xf[^
                         gpăA[gibZ[W{bNXj\܂B
                      2) JavaScriptElementById
                         HTMLIDŎw肳IuWFNg̔Cӂ̃vpeB
                         Œ蕶񖔂WEBuEU[̃X|Xf[^Zbg܂B
                         ̃IuWFNg̓X|Xɖ߂ȂƓłȂ
                         ʐM̂ݐݒ\łB
                      3) JavaScriptInnerHTML
                         HTMLIDŎw肳IuWFNginnerHTMLvpeB
                         Œ蕶񖔂WEBuEU[̃X|Xf[^Zbg܂B
                         ̃IuWFNg̓X|Xɖ߂ȂƓłȂ
                         ʐM̂ݐݒ\łB
                      4) JavaScriptInnerText
                         HTMLIDŎw肳IuWFNginnerTextvpeB
                         Œ蕶񖔂WEBuEU[̃X|Xf[^Zbg܂B
                         ̃IuWFNg̓X|Xɖ߂ȂƓłȂ
                         ʐM̂ݐݒ\łB
                      5) JavaScriptSource
                         w肳ꂽJavaScriptƂē삳܂B
                      6) JavaScriptSrc
                         HTMLIDŎw肳IuWFNgsrcvpeB
                         Œ蕶񖔂WEBuEU[̃X|Xf[^Zbg܂B
                         ̃IuWFNg̓X|Xɖ߂ȂƓłȂ
                         ʐM̂ݐݒ\łB
                      7) JavaScriptValue
                         HTMLIDŎw肳IuWFNgvaluevpeB
                         Œ蕶񖔂WEBuEU[̃X|Xf[^Zbg܂B
                         ̃IuWFNg̓X|Xɖ߂ȂƓłȂ
                         ʐM̂ݐݒ\łB
                    
                    AjaxScriptIuWFNg̓uEUɑHTMLł͈ȉfunction
                    Ď}܂B
                     function scriptName(async, data);
                     
                     scriptNameSCRIPT^Oname̒liOjA
                     asynctruêƂ͔񓯊Mit@NV͒ʐMIȂĂ
                     A܂jAfalse͓̎MiʐMI܂ŃuEU
                     삵܂jƂē삵܂B
                     data̓vpeBƂ̒lō\IuWFNgłB
                     
                    ĉ炩̃CxgɏLt@NVJavaScriptŌĂяo܂B
                    
                    pirkał͌ĂяoJavaScriptOnEventJavaScript#getSource
                    \bhpӂĂ܂̂JavaScriptgpȂĂȉ̗lȋLq
                    ĂяoƂł܂B

                    //  zipCodetB[honChangeɎtB[hlzipCodeƂajaxTest01ĂяoJavascriptR[hݒ
                    field.setOption("zipCode", "onChange", OnEventJavaScript.getSource("ajaxTest02", true, new RequestData("zipCode")));

                    TvƂpirkaSamplejp.oarts.pirka.sample.s13#Ajax01A
                    jp.oarts.pirka.sample.s13#Ajax02QƂĂB


            3.2.11 ZV
                    ʏWEBAvP[Vł̓f[^̓ZVɕۊǂ܂B
                    pirkał̓EChENX̃oϐ͎IɃZVɕۑE擾邽
                    ZVӎWEBAvP[V쐬邱Ƃ\łB
                
                    ʂ玟ɕ\ʂւ̃f[^̎󂯓nZVoRł͂Ȃnewʂ
                    EChEIuWFNg̃f[^󂯓n\bhĂяoƂɂs܂B
                    
                    ZVgpƂ́AT[ubg[hgp͈ȉ̃\bhgp
                    ZVɃf[^ۊǂ邱Ƃł܂B

                    // ZbVɔCӂ̃IuWFNgo^
                    protected void putSession(String keyName, Object object);
                    
                    // ZVwꂽIuWFNg擾
                    protected Object getSession(String keyName);

                    ZVgpƂ̃L[ł擪 __PIRKA__ Ŏn܂閼Opirka
                    gp邽ߎgpȂłB

                    ۊǂꂽIuWFNg̓ZVLWEBT[o[̃[ɕێ܂̂
                    ܂傫ȃIuWFNg͕ۑȂ悤ɂĂB

                    ܂Apirkał͏ʂ\Ƃ̓ZVnCWbNh~̂
                    ZV̍č쐬sȂĂ邽߃ZṼf[^͑SăNA܂B
                    
                    WEBAvP[VZVpƂEntryPointNX
                    hĐVȃGg[|Cg쐬邱Ƃɂ\ƂȂ܂B
		    
		    EntryPointNXɈȉ̃\bhI[o[Chfalse߂Ƃɂ
		    ZVč쐬͍sȂȂȂ܂B
		    
                    public boolean isClearSessionAtInitScreen();
                    
                    yz
                    public boolean isClearSessionAtInitScreen() {
                        return false;
                    }


    4.̑
    
        4.1 Oo

            pirkał͓ɃOo͂܂B
            eANV\bhɎRȃK[gpăOo͂sĂB
            ܂AANV\bhŔExceptionThrowable͈ȉdg݂ŃOo͂
            ӏ݂̂ŃOo͂s邽ߕ֗łB
            EANV\bhExceptionThrowableƃtF[^G[ʂ
            @\܂B̉ʂ̓Gg[|CgœƎ̉ʂɕύX\łB
            @܂AύXꂽʂPirkaFatalErrorWindowC^[tF[XCvgĂ
            @\OsetError\bhĂяo܂B
            @̃\bh̃p[^ƂThrowableIuWFNgn̂ł̃\bh
            @tF[^G[̃Oo͂܂B


        4.2 Javascriptgp̒ӎ
            JavascriptŊeRg[[^OnameAIDAforgpăANZX
            sƂɂ͈ȉ̒ӂKvłB

            1) WI{^̖O̓uEUɑ鎞ɂ̓TtBbNX폜܂B
                    <input type="radio" name="selectColor$red" value="red">
                
                    <input type="radio" name="selectColor" value="red">
                ƂȂ܂B

            2) [v̖Oɂ̓TtBbNXt܂B
                TtBbNX́w$+[vCfbNXxłB
                    <input type="text" name="age">
                    [v1ڂ<input type="text" name="age$0">
                    [v2ڂ<input type="text" name="age$1">
                ƂȂ܂B
                
                ܂A[vKw2d[vA3d[vƐ[ȂƂɉăTtBbNX
                t܂B
                Ƃ΁A3d[v̒<input type="text" name="age">݂ԊO2ځA
                ̓5ځAԓ8ڂƂ
                <input type="text" name="age$1$4$7">ƂȂ܂B

            3) [vɑ݂name^OIDfornameƓl̃TtBbNX
                t܂B
                ARg[\bh̃TtBbNXtwɂIDforɑ΂Ă
                TtBbNXt̐䂪\łB


        4.3 T[ubg[h

            Gg[|Cg̔hNXisOldServletMode\bhI[o[Chtrue߂
            T[ubg[hƂē삵܂B

            T[ubg[hgpƃuEŨobN{^őOʂɖ߂邱Ƃł܂B
            ̂߃ICVbsO̗lȃuEŰ@\gpRȉʑJڂ
            \WEBAvP[V쐬ł܂ȉ̓_Œʏ탂[hƂ͓삪Ⴂ܂̂
            䒍ӂB

            1) oϐȂǂ̎ZVۑ@\͓삵܂B
                ʓIȃT[ubgƓlɃf[^̕ۊǂɂ̓ZVgpĂB

            2) ANV\bh̖߂lƂnull߂ĂOʂɂ͖߂܂B

            3) FORM^Omethod"post"ݒ肳ĂƃuEU[ɂĂ̓T[o[
                f[^𑗐MOɌx\܂B
                邽߂ɋT[ubg[hłFORM^Omethod"get"
                ݒ肵ĂB


        4.4 JUniteXg
            
            pirkaŎgpEChEIuWFNgJUnitgpWEBT[o[
            ݂Ȃł̃eXgsƂł܂B
            
            JUnitgp̗ӓ_ȉɋL܂B
            
            1) Gg[|CgƂOfflineEntryPointgp܂B
                OfflineEntryPoint̃IuWFNg͈ȉ̂悤Ɏ擾܂B
                OfflineEntryPoint entryPoint = OfflineEntryPoint.getInstance();
            
            2) OfflineEntryPoint̃IuWFNg擾ZVJn\bh
                ĂяoĂB
                entryPoint.startSession();
            
            3) eXgɃuEUŌ݂̃EChEe\邱Ƃł܂B
                ftHgłWindowsXPIE6gp悤ɐݒ肳Ă܂AOSuEU
                gpƂ͈ȉ̗lɃuEUNR}hݒ肵ĂB

                //  FireFox
                entryPoint.setDebugBrowserCommand("C:\\Program Files\\Mozilla Firefox\\firefox.exe");
                iFireFoxł͏Iɍ폜_CAO{bNX\ȂݒsKv܂j

            4) EChEIuWFNgȉ̗lnew܂B
                PirkaWindow nextWindow = new CtrlTestMenu();    //  j[EBhE쐬
            
            5) ẢʂuEUŕ\Έȉ̃\bhŉ\łB
                entryPoint.display(nextWindow, 3);  //  uEU[3b\
            
            6) EChEIuWFNg̃NTu~bg{^̃NbN
                OfflineEntryPoint#action\bhgpăV~[g邱Ƃł܂B
                
                ȉ̗͉ʒname=LinkTest10A^ONbNāA̖߂lʂ
                Test10NXJUnitassertTrue\bhŃ`FbNAmF̂
                ʂ3bقǃuEUŕ\Ă܂B
                
                    PirkaRespons nextRespons
                        = entryPoint.action(nextWindow, "LinkTest10", new int[0]);  //  ANVs
                    assertTrue(nextRespons instanceof Test10);      //  ʂeXg10ʂ`FbN
                    nextWindow = (PirkaWindow) nextRespons;
                    entryPoint.display(nextWindow, 3);      //  uEU[ŕ\

            7) ʂł̃f[^͂̓EChEIuWFNgtB[h}bv擾
                ̃tB[h}bvɒlݒ肷邱Ƃős܂B
                ȉ̗ł͉ʂsyuuryoutB[h100AtankatB[h200͂ꂽ
                ƂƓłB
    
                field = nextWindow.getFieldMap();       //  ʂtB[ho
                field.setValue("suuryou", "100");       //  lZbgiʓ͂̑sj
                field.setValue("tanka", "200");

            8) ʂɕ\Ăẽ`FbN͓͂ƓlɃEChEIuWFNg
                tB[h}bv擾AloassertEquals\bh
                gpčsĂB
                
                ȉ̗łexecButton{^NbNV~[VvZ
                ̌ʕ\kingakutB[h̓e20000`FbNĂ܂B

                nextRespons = entryPoint.action(nextWindow, "execButton", new int[0]);  //  ANVs
                assertTrue(nextRespons instanceof Test10);      //  ʂړĂȂ̃`FbN
                nextWindow = (PirkaWindow) nextRespons;
                field = nextWindow.getFieldMap();                   //  ʂtB[ho
                assertEquals(field.getValueInt("kingaku"), 20000);  //  \ꂽʁizj`FbN

            9) TvƂpirkaSamplejp.oarts.pirka.test.batch.JUnitTestSampleQƂĂB
            
            10) OfflineEntryPointł̃eXg͂݂̐܂B
                4.5 QƂĂB


        4.5 
            
            1) ̓f[^
                pirkał͓͂ꂽ񂪃uEU[瑗ĂȂƂ͂ɑΉ
                tB[h̒l͍XV܂B
                ́AJavaScriptgpēIɓ̓^OdisableɂƂȂǂɔ܂B
                JavaScriptœ̓^OdisableɂƂhidden^OɃf[^xRs[
                Tu~bgs̏KvƂȂ܂B

            2) JUniteXg
                JUniteXgŎgp錻o[WOfflineEntryPointł̓EChEIuWFNgւ
                ̓f[^̊i[A\f[^̎擾AANV\bhĂяoȊÖȉ̏
                T|[gĂ܂B
                    Et@CAbv[h
                    EIC[W
                    E͏o͕̎ϊ
                    EAjax
                    EʃEChE

            3) ZbV^CAEgʁAtF[^G[
            	jp.oarts.pirka.core.app.EntryPoint#getSessionTimeoutWindow\bhA
            	jp.oarts.pirka.core.app.EntryPoint#getFatalErrorWindowʃ\bh
            	ԂZbV^CAEgʁAtF[^G[ʂHTMLɂform^O
            	LqƓ삪ۏႳ܂B
            	
            	
