??xml version="1.0" encoding="utf-8" standalone="yes"?>h精品动漫在线观看,亚洲天堂男人天堂女人天堂,老司机精品视频在线观看6http://www.aygfsteel.com/hhhaaawwwkkk/category/34837.html大爷的ƈTM骂hzh-cnTue, 21 Aug 2012 09:32:05 GMTTue, 21 Aug 2012 09:32:05 GMT60js以json形式提交数据Q后台接?/title><link>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2012/08/21/385910.html</link><dc:creator>生命的熾?/dc:creator><author>生命的熾?/author><pubDate>Tue, 21 Aug 2012 02:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2012/08/21/385910.html</guid><wfw:comment>http://www.aygfsteel.com/hhhaaawwwkkk/comments/385910.html</wfw:comment><comments>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2012/08/21/385910.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/385910.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/385910.html</trackback:ping><description><![CDATA[<div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->$("#savename").click(<span style="color: #0000FF; ">function</span>(){<br />    <span style="color: #0000FF; ">var</span> fananname=$("#editname").val();<br />    <span style="color: #0000FF; ">var</span> jsonList = eval(createArray()); <br />    <span style="color: #0000FF; ">var</span> jsonText = JSON.stringify(jsonList);<br />    $.ajax({<br />        type: "POST",<br />        url: "/shop/ffselect!saveAttachedUrl.action",<br />        dataType:"json",<br />        data: {<br />            "fanan":fananname,<br />            "jsonarray":jsonText<br />        },<br />            success: <span style="color: #0000FF; ">function</span>(data) {<br />            <span style="color: #0000FF; ">if</span>(data.status=="success"){<br />                window.location.href="www.baidu.com";<br />            }<br />            },<br />    });    <br />    <br />})<br /><br /><span style="color: #0000FF; ">function</span> createArray(){<br />    <span style="color: #0000FF; ">var</span> jsonarray=[];<br />    <span style="color: #0000FF; ">var</span> fanganid=$("#selectTitleid").val();<br />    <span style="color: #0000FF; ">var</span> $goodsurl=$(".goodsurl");<br />    <span style="color: #0000FF; ">var</span> $isadd=$(".isadd");<br />    <span style="color: #0000FF; ">var</span> $review=$(".inputtextarea");<br />    <span style="color: #0000FF; ">var</span> $isclear=$(".isclear");<br />    <br />    $.each($goodsurl,<span style="color: #0000FF; ">function</span>(n){<br />        <span style="color: #0000FF; ">var</span> goodsurl=$($goodsurl[n]).val();<br />        <span style="color: #0000FF; ">var</span> isadd=$($isadd[n]).val();    <br />        <span style="color: #0000FF; ">var</span> review=$($review[n]).val();<br />        <span style="color: #0000FF; ">var</span> isclear=$($isclear[n]).val();<br />        <span style="color: #0000FF; ">var</span> obj=createObj(goodsurl,isadd,fanganid,review,isclear);<br />        jsonarray.push(obj);<br />    })<br />    <span style="color: #0000FF; ">return</span> jsonarray;<br />}<br /><br /><span style="color: #0000FF; ">function</span> createObj(urlval,isaddval,faidval,reviewval,isclearval){<br />    <span style="color: #0000FF; ">return</span> {<br />        url:urlval,<br />        isadd:isaddval,<br />        faid:faidval,<br />        review:reviewval,<br />        isclear:isclearval<br />    }<br />}<br /></div></div><div><div><div><br /><br />后台接受<span style="font-size: 13px; color: #008080; "> 1</span><span style="background-color: #eeeeee; font-size: 13px; "> </span><span style="font-size: 13px; color: #0000ff; ">public</span><span style="background-color: #eeeeee; font-size: 13px; "> String saveAttachedUrl(){</span></div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #008080; "> 2</span>         LlSelectAttachedUrl attacheURL = <span style="color: #0000FF; ">new</span> LlSelectAttachedUrl();<br /><span style="color: #008080; "> 3</span>         String fanan = getParameter("fanan");<br /><span style="color: #008080; "> 4</span>         String jsonarray = getParameter("jsonarray");<br /><span style="color: #008080; "> 5</span>         System.out.println(fanan);<br /><span style="color: #008080; "> 6</span>         System.out.println(jsonarray);<br /><span style="color: #008080; "> 7</span> <span style="color: #008000; ">//</span><span style="color: #008000; ">        String str = "[{'name':'张三','sex':'?},{'name':'李四','sex':'?},{'name':'王五','sex':'?}]";</span><span style="color: #008000; "><br /></span><span style="color: #008080; "> 8</span> <span style="color: #008000; "></span>        JSONArray json = JSONArray.fromObject(jsonarray);<br /><span style="color: #008080; "> 9</span>         <span style="color: #0000FF; ">int</span> size = json.size();<br /><span style="color: #008080; ">10</span>         <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> i = 0; i<size; i++){<br /><span style="color: #008080; ">11</span>             String re = json.getString(i);<br /><span style="color: #008080; ">12</span>             JSONObject s = JSONObject.fromObject(re);<br /><span style="color: #008080; ">13</span>             attacheURL.setAdd_date(<span style="color: #0000FF; ">new</span> Date());<br /><span style="color: #008080; ">14</span>             attacheURL.setComments(s.getString(""));<br /><span style="color: #008080; ">15</span>             attacheURL.setGoods_url(s.getString(""));<br /><span style="color: #008080; ">16</span>             attacheURL.setId(re);<br /><span style="color: #008080; ">17</span>             attacheURL.setRemark(s.getString(""));<br /><span style="color: #008080; ">18</span>             attacheURL.setSelect_title_id(s.getString(""));<br /><span style="color: #008080; ">19</span>             <span style="color: #0000FF; ">if</span>(s.getString("")!=<span style="color: #0000FF; ">null</span>){<br /><span style="color: #008080; ">20</span>                 attacheURL.setIsAddUrl(Integer.parseInt(s.getString("")));<br /><span style="color: #008080; ">21</span>             }<span style="color: #0000FF; ">if</span>(s.getString("")!=<span style="color: #0000FF; ">null</span>){<br /><span style="color: #008080; ">22</span>                 attacheURL.setState(Integer.parseInt(s.getString("")));<br /><span style="color: #008080; ">23</span>             }<br /><span style="color: #008080; ">24</span>             <span style="color: #0000FF; ">this</span>.selectFanFan.saveSelectAttachedUrl(attacheURL);<br /><span style="color: #008080; ">25</span>         }<br /><span style="color: #008080; ">26</span>         <span style="color: #0000FF; ">return</span> ajax(Status.success);<br /><span style="color: #008080; ">27</span>     }</div></div></div><img src ="http://www.aygfsteel.com/hhhaaawwwkkk/aggbug/385910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hhhaaawwwkkk/" target="_blank">生命的熾?/a> 2012-08-21 10:09 <a href="http://www.aygfsteel.com/hhhaaawwwkkk/archive/2012/08/21/385910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2 使用annotation从action跌{到actionq传递参?/title><link>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2012/02/16/370135.html</link><dc:creator>生命的熾?/dc:creator><author>生命的熾?/author><pubDate>Thu, 16 Feb 2012 09:55:00 GMT</pubDate><guid>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2012/02/16/370135.html</guid><wfw:comment>http://www.aygfsteel.com/hhhaaawwwkkk/comments/370135.html</wfw:comment><comments>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2012/02/16/370135.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/370135.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/370135.html</trackback:ping><description><![CDATA[MyAction.java<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; "> com.zzn.action;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Result;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Results;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> com.opensymphony.xwork2.ActionSupport;<br /><br />@Results(<br />    {<br />        @Result(name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">aaaa</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,location</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">aaaa!aaaa.action</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">redirect</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,<br />                params </span><span style="color: #000000; ">=</span><span style="color: #000000; "> {</span><span style="color: #000000; ">"</span><span style="color: #000000; ">flag</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">${flag}</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">flag2</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">${flag2}</span><span style="color: #000000; ">"</span><span style="color: #000000; ">}),<br />        @Result(name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">bbbb</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,location</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">bbbb!bbbb.action</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">redirect</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,<br />                params </span><span style="color: #000000; ">=</span><span style="color: #000000; "> {</span><span style="color: #000000; ">"</span><span style="color: #000000; ">flag</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">${flag}</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">flag2</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">${flag2}</span><span style="color: #000000; ">"</span><span style="color: #000000; ">}<br />                )<br />    }<br />)<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> MyAction </span><span style="color: #0000FF; ">extends</span><span style="color: #000000; "> ActionSupport{<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String flag ;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String flag2;<br /><br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String jump(){<br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(flag</span><span style="color: #000000; ">!=</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">&&</span><span style="color: #000000; ">flag.equals(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">aaaa</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)){<br />            </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">aaaa</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />        }</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">{<br />            </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">bbbb</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />        }<br />    }<br />    <br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String getFlag() {<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> flag;<br />    }<br /><br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> setFlag(String flag) {<br />        </span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.flag </span><span style="color: #000000; ">=</span><span style="color: #000000; "> flag;<br />    }<br /><br /><br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String getFlag2() {<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> flag2;<br />    }<br /><br /><br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> setFlag2(String flag2) {<br />        </span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.flag2 </span><span style="color: #000000; ">=</span><span style="color: #000000; "> flag2;<br />    }<br /><br />}<br /></span></div><br /><div><span style="color: #000000; ">AaaaAction.java<br /></span></div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; "> com.zzn.action;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> com.opensymphony.xwork2.ActionSupport;<br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> AaaaAction </span><span style="color: #0000FF; ">extends</span><span style="color: #000000; "> ActionSupport {<br />    <br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String flag;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String flag2;<br />    <br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String aaaa(){<br />        System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">我调用的aaaaҎ</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">flag</span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">~~~~~</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">flag2);<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">page</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />    }<br />    <br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String getFlag() {<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> flag;<br />    }<br /><br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> setFlag(String flag) {<br />        </span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.flag </span><span style="color: #000000; ">=</span><span style="color: #000000; "> flag;<br />    }<br /><br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String getFlag2() {<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> flag2;<br />    }<br /><br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> setFlag2(String flag2) {<br />        </span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.flag2 </span><span style="color: #000000; ">=</span><span style="color: #000000; "> flag2;<br />    }<br />}<br /></span></div><br /><div><span style="color: #000000; ">BbbbAction.java<br /></span></div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; "> com.zzn.action;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> com.opensymphony.xwork2.ActionSupport;<br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> BbbbAction </span><span style="color: #0000FF; ">extends</span><span style="color: #000000; "> ActionSupport {<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String flag;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String flag2;<br />    <br /><br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String bbbb(){<br />        System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">我调用的bbbҎ</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">flag);<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">page</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />    }<br />    <br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String getFlag() {<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> flag;<br />    }<br /><br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> setFlag(String flag) {<br />        </span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.flag </span><span style="color: #000000; ">=</span><span style="color: #000000; "> flag;<br />    }<br />    <br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String getFlag2() {<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> flag2;<br />    }<br /><br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> setFlag2(String flag2) {<br />        </span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.flag2 </span><span style="color: #000000; ">=</span><span style="color: #000000; "> flag2;<br />    }<br />}<br /></span></div><br /><br /><img src ="http://www.aygfsteel.com/hhhaaawwwkkk/aggbug/370135.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hhhaaawwwkkk/" target="_blank">生命的熾?/a> 2012-02-16 17:55 <a href="http://www.aygfsteel.com/hhhaaawwwkkk/archive/2012/02/16/370135.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2学习W记Q六Q?-OGNLhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/11/366097.html生命的熾?/dc:creator>生命的熾?/author>Sun, 11 Dec 2011 08:07:00 GMThttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/11/366097.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/comments/366097.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/11/366097.html#Feedback0http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/366097.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/366097.html从页面传递给action值username与password?br />action写法Q?br />
public class OgnlAction extends ActionSupport {

    
private String username;
    
    
private String password;

    
public String execute() {
        
return SUCCESS;
    }

    
public String getPassword() {
        
return password;
    }
    
    
public String getUsername() {
        
return username;
    }

    
public void setPassword(String password) {
        
this.password = password;
    }

    
public void setUsername(String username) {
        
this.username = username;
    }

}
jsp面使用ognl获取username与password?br />
<li>讉K值栈中的action的普通属? username = <s:property value="username"/>
password = <s:property value="password"/>
</li>

二、用user.javacL接受传递数?br />user.java
public class User {
    
private int age ;
    
private String username;
    
    
public int getAge() {
        
return age;
    }

    
public String getUsername() {
        
return username;
    }

    
public void setUsername(String username) {
        
this.username = username;
    }

    
public void setAge(int age) {
        
this.age = age;
    }
    
    @Override
    
public String toString() {
        
return "user" + age;
    }
}

面传递数?br />
<a href="<%=contextPath %>/ognl.action?user.age=2012&user.username=xxxxxxxx">ognl</a>

action接收
public class OgnlAction extends ActionSupport {
    
private User user;

    
public User getUser() {
        
return user;
    }

    
public void setUser(User user) {
        
this.user = user;
    }
    
    
private String excute() {
        
return SUCCESS;
    }
}
传递到面上显C?br />
<s:property value="user.age"/>| <s:property value="user['age']"/> | <s:property value="user[\"age\"]"/>
<s:property value="user.username"/>
q里提v一下ognl在jsp中访问action的方法的写法
<li>讉K值栈中对象的普通方法:<s:property value="password.length()"/></li>
<li>讉K值栈中对象的普通方法:<s:property value="cat.miaomiao()" /></li>
<li>讉K值栈中action的普通方法:<s:property value="m()" /></li>

ognl可以讉K静态方法。需要在struts.xml中设|?lt;constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
<li>讉K静态方法:<s:property value="@com.bjsxt.struts2.ognl.S@s()"/></li>
<li>讉K静态属性:<s:property value="@com.bjsxt.struts2.ognl.S@STR"/></li>
<li>讉KMathcȝ静态方法:<s:property value="@@max(2,3)" /></li>

<li>讉K普通类的构造方法:<s:property value="new com.bjsxt.struts2.ognl.User(8)"/></li>

ogin讉K集合
<li>讉KList:<s:property value="users"/></li>
<li>讉KList中某个元?<s:property value="users[1]"/></li>
<li>讉KList中元素某个属性的集合:<s:property value="users.{age}"/></li>
<li>讉KList中元素某个属性的集合中的特定?<s:property value="users.{age}[0]"/> | <s:property value="users[0].age"/></li>
<li>讉KSet:<s:property value="dogs"/></li>
<li>讉KSet中某个元?<s:property value="dogs[1]"/></li>
<li>讉KMap:<s:property value="dogMap"/></li>
<li>讉KMap中某个元?<s:property value="dogMap.dog101"/> | <s:property value="dogMap['dog101']"/> | <s:property value="dogMap[\"dog101\"]"/></li>
<li>讉KMap中所有的key:<s:property value="dogMap.keys"/></li>
<li>讉KMap中所有的value:<s:property value="dogMap.values"/></li>
<li>讉K容器的大:<s:property value="dogMap.size()"/> | <s:property value="users.size"/> </li>

<li>投媄(qo)Q?lt;s:property value="users.{?#this.age==1}[0]"/></li>
<li>投媄Q?lt;s:property value="users.{^#this.age>1}.{age}"/></li><!-- age>1集合中开头的一?--><li>
投媄Q?lt;s:property value="users.{$#this.age>1}.{age}"/></li><!-- age>1集合中结一?--><li>
投媄Q?lt;s:property value="users.{$#this.age>1}.{age} == null"/></li><!-- 获取的集合是否ؓI?nbsp; -->




]]>
struts2学习W记Q五Q?-resultq回值的其他用法http://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/11/366094.html生命的熾?/dc:creator>生命的熾?/author>Sun, 11 Dec 2011 05:23:00 GMThttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/11/366094.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/comments/366094.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/11/366094.html#Feedback0http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/366094.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/366094.html W一Uresultq回值方?br /> struts.xml中的配置如下Q?br />
<struts>
    
<constant name="struts.devMode" value="true" />
    
<package name="user" namespace="/user" extends="struts-default">
        
        
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
            
<result>${r}</result>
        
</action>        
    
</package>
        
</struts>
action的写法:
public class UserAction extends ActionSupport {
    
private int type;
    
    
private String r;

    
public String getR() {
        
return r;
    }

    
public void setR(String r) {
        
this.r = r;
    }

    
public int getType() {
        
return type;
    }

    
public void setType(int type) {
        
this.type = type;
    }

    @Override
    
public String execute() throws Exception {
        
if(type == 1) r="/user_success.jsp";
        
else if (type == 2) r="/user_error.jsp";
        
return "success";
    }

}

W二Uresultq回值方?br />
struts.xml中的配置如下Q这U方法可以把typeg递到面中去。在面中可以渠道type的|<s:property value="#parameters.t">
<struts>
    
<constant name="struts.devMode" value="true" />
    
<package name="user" namespace="/user" extends="struts-default">
        
        
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
            
<result type="redirect">/user_success.jsp?t=${type}</result>
        
</action>        
    
</package>
        
</struts>
action的写法:

public class UserAction extends ActionSupport {
    
private int type;
    
    
public int getType() {
        
return type;
    }

    
public void setType(int type) {
        
this.type = type;
    }

    @Override
    
public String execute() throws Exception {
        
return "success";
    }

}



]]>
struts2学习W记Q二Q?-Conversion-plugin实现雉?/title><link>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/10/365679.html</link><dc:creator>生命的熾?/dc:creator><author>生命的熾?/author><pubDate>Sat, 10 Dec 2011 04:52:00 GMT</pubDate><guid>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/10/365679.html</guid><wfw:comment>http://www.aygfsteel.com/hhhaaawwwkkk/comments/365679.html</wfw:comment><comments>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/10/365679.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/365679.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/365679.html</trackback:ping><description><![CDATA[首先感谢http://www.cnblogs.com/MoShin/archive/2011/04/06/2006591.htmll的q么详细的讲解?br /><div>如何使用ConventionQ约定)struts-Convention-plugin-2.1.6.jar文g复制到WEB-INF/lib路径?/div><br /><div><div>雉|ƈ不是没有配置Q而是通过U定大于配置的方式,大量通过U定来调度页面的跌{而得配|大大减。所以,首先应该了解下convention-plugin的约定:<br /> 1. 默认所有的l果面都存储在WEB-INF/content下,你可以通过讄struts.convention.result.pathq个属性的值来改变到其他\径。如Q?/div><div><div><span style="color: #000000;"> </span><span style="color: #000000;"><br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span> <span style="color: #000000; ">  </span><span style="color: #0000FF; "><</span><span style="color: #800000; ">constant </span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="struts.convention.result.path"</span><span style="color: #FF0000; "> value</span><span style="color: #0000FF; ">="/WEB-INF/page"</span><span style="color: #FF0000; "> </span><span style="color: #0000FF; ">/></span><span style="color: #000000; ">  <br /></span></div></div></div><p> 则将路径配置CWEB-INF/page 下?br /></p><p> </p><p> 2. 默认包\径包含action,actions,struts,struts2的所有包都会被struts作ؓ含有Actioncȝ路径来搜索?/p><p><div>QAQConvention插g会把如下两种javacd成Action处理Q?br />    1Q?所有实Ccom.opensymphony.xwork2.Action的javacR?br />    2Q?所有类名以Actionl尾的javac?/div></p><p>QBQ你也可以通过讄struts.convention.package.locators属性来修改q个配置。如Q?span style="color: #0000ff;"><br /></span></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span> <span style="color: #0000FF; "><</span><span style="color: #800000; ">constant </span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="struts.convention.package.locators"</span><span style="color: #FF0000; "> value</span><span style="color: #0000FF; ">="web,action"</span><span style="color: #FF0000; "> </span><span style="color: #0000FF; ">/></span><span style="color: #000000; "> <br /></span></div><p><span style="color: #000000;"></span></p><div>则定义了在项目中Q包路径包含web和action的将被视为Action存在的\径来q行搜烦?br /> Com.ustb.web.*/com.ustb.action.*都将被视为含有Action的包路径而被搜烦?br /><div>struts.Convention.exclude.packges:指定不扫描哪些包下的javac,位于q些包结构下的javacd不会自动映射成ActionQ?/div><div>QCQstruts.convention.action.packages:Convention插g以该帔R指定包作为根包来搜烦ActioncRConvention插g除了扫描action,actions,struts,struts2四个包的cM外,q会扫描该常量指定的一?nbsp; 或多个包QConvention会试图从中发现ActioncR?br />QDQ注意:struts.convention.package.locators和struts.convention.action.packages两个帔R的作用比较微妙,开发者在利用q两个常量时务必心?br />    如:下面Action所在包被映的命名I间如下Q?br />    com.fun.actions.LoginAction 映射?/<br />    com.fun.actions.myoffice.CarInfoAction 映射?/myoffice<br />    com.fun.struts.myoffice.EntINfoAction 映射?/myofiice</div></div><div>3. 接着QConvention从前一步找到的package以及其子package中寻?com.opensymphony.xwork2.Action 的实C及以Actionl尾的类Q?/div><div><div><span style="color: #000000;">   </span><span style="color: #000000;">1</span><span style="color: #000000;">. com.example.actions.MainAction  <br />   </span><span style="color: #000000;">2</span><span style="color: #000000;">. com.example.actions.products.Display (</span><span style="color: #0000ff;">implements</span><span style="color: #000000;"> com.opensymphony.xwork2.Action)  <br />   </span><span style="color: #000000;">3</span><span style="color: #000000;">. com.example.struts.company.details.ShowCompanyDetailsAction  <br /></span></div></div><p> </p><div>4. 命名I间。从定义?package.locators标示开始到包结束的部分Q就是命名空间。D个例子:<br />     Com.ustb.web.user.userAction的命名空间是Q?#8221;/user”。Com.ustb.web.user.detail.UserAction的命名空间是Q?#8221;/user/detail”<br /><br /> 5. Convention通过如下规则定URL的具体资源部?Lcd的Action部分。然后将每个分部的首字母{为小写,?#8217;-’分割Q你可以讄struts.convention.action.name.separator ?</div><div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; "><</span><span style="color: #800000; ">constant </span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="struts.convention.action.name.separator"</span><span style="color: #FF0000; "> value</span><span style="color: #0000FF; ">="-"</span><span style="color: #FF0000; "> </span><span style="color: #0000FF; ">/></span></div><span style="color: #0000ff;"></span></div></div> <div><div>    q是举个例子Q?br />     UserAction->user  UserDetailAction ->user-detail。结合上面的。对于com.ustb.web.user.detail.UserDetailActionQ映的 url是/WEB-INF/content/user/detail/user-detail.jsp<br /><br /> 6. struts支持.jsp .html .htm .vm格式的文件?br /> 下面是action和结果模版的映射关系Q?strong><br /></strong> <table style="height: 130px;" align="left" border="1" width="590"><tbody> <tr> <td> <strong>URL</strong> </td> <td> <strong>Result <br /></strong> </td> <td> <strong>File that could match</strong> </td> <td> <strong>Result Type</strong> </td> </tr> <tr> <td>/hello</td> <td>success</td> <td>/WEB-INF/content/hello.jsp</td> <td>Dispatcher</td> </tr> <tr> <td>/hello</td> <td>success</td> <td>/WEB-INF/content/hello-success.htm </td> <td>Dispatcher</td> </tr> <tr> <td>/hello</td> <td>success</td> <td>/WEB-INF/content/hello.ftl </td> <td> FreeMarker</td> </tr> <tr> <td>/hello-world</td> <td>input</td> <td>/WEB-INF/content/hello-world-input.vm</td> <td>Velocity</td> </tr> <tr> <td>/test1/test2/hello</td> <td>error</td> <td>/WEB-INF/content/test/test2/hello-error.html</td> <td>Dispatcher</td> </tr> </tbody></table> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p><p> </p><p>当然Q简单的通过默认的方式来q行配置不能完全满实际目的需要。所q,convention的零配置是非常灵zȝ?br /><strong>通过@Action注释</strong> <br /> 对如下例子:</p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #0000FF; ">import</span><span style="color: #000000; "> com.opensymphony.xwork2.Action;<br /></span><span style="color: #008080; "> 2</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> com.opensymphony.xwork2.ActionSupport;<br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; "><br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> HelloAction </span><span style="color: #0000FF; ">extends</span><span style="color: #000000; "> ActionSupport {<br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; ">    @Action(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">action1</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String method1() {<br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> SUCCESS;<br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; ">    @Action(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/user/action2</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String method2() {<br /></span><span style="color: #008080; ">12</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> SUCCESS;<br /></span><span style="color: #008080; ">13</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">14</span> <span style="color: #000000; ">}</span></div></div><div><div><span style="color: #000000;"></span><span style="color: #000000;"></span><span style="color: #000000;"></span><span style="color: #0000ff;"></span><span style="color: #000000;"><br /></span></div></div></div><div><table style="height: 65px;" border="0" width="640"><tbody><tr><td><strong>Ҏ?/strong> </td> <td> <strong>默认调用路径</strong> </td> <td> <strong>默认映射路径</strong> </td> </tr> <tr> <td> <span style="font-size: small;">method1</span> </td> <td> <span style="font-size: small;">/hello!method1.action .</span> </td> <td> <span style="font-size: small;">/WEB-INF/content/hello.jsp</span> </td> </tr> <tr> <td> <span style="font-size: small;">method2</span> </td> <td> <span style="font-size: small;">/hello!method2.action.</span> </td> <td> <span style="font-size: small;">/WEB-INF/content/hello.jsp</span> </td> </tr> </tbody></table> <p><span style="color: #ff6600;"><span style="text-decoration: underline;">通过@Action注释?/span> </span> </p> <table style="height: 64px;" border="0" width="639"><tbody> <tr> <td> <strong>Ҏ?/strong> </td> <td> <strong>@Action注释后调用\?/strong> </td> <td> <strong>@Action注释</strong> <strong>后映\?/strong> </td> </tr> <tr> <td> <span style="font-size: small;">method1</span> </td> <td> <span style="font-size: small;">/action1!method1.action.</span> </td> <td> <span style="font-size: small;">/WEB-INF/content/action1.jsp</span> </td> </tr> <tr> <td> <span style="font-size: small;">method1</span> </td> <td> <span style="font-size: small;">/user/action2!method2.action</span> </td> <td> <span style="font-size: small;">/WEB-INF/content/user/action2.jsp</span> </td> </tr> </tbody></table> <p><br /><strong>通过@Actions注释</strong> </p></div><div><div><span style="color: #000000;"></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #0000FF; ">import</span><span style="color: #000000; "> com.opensymphony.xwork2.ActionSupport;   <br /></span><span style="color: #008080; "> 2</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Action;  <br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Actions;  <br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; "> <br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> HelloAction </span><span style="color: #0000FF; ">extends</span><span style="color: #000000; "> ActionSupport {  <br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">    @Actions({  <br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; ">     @Action(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/different/url</span><span style="color: #000000; ">"</span><span style="color: #000000; ">),  <br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">     @Action(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/another/url</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)  <br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">   })  <br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String method1() {  <br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">   </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> “error”;  <br /></span><span style="color: #008080; ">12</span> <span style="color: #000000; ">} <br /></span></div>  </div></div><div>我们可以通过Q?span style="font-size: medium;"><strong><span style="color: #008000;"><span style="color: #0000ff;"><span style="font-size: small;"><em>/different/url!method1.action</em> </span> </span> </span> </strong> ?/span> <span style="color: #008000; font-size: small;"><strong><span style="font-size: medium;"><span style="color: #0000ff;"><span style="font-size: small;"><em>/another/url!method1.action</em> </span> </span> </span> </strong> </span> 来调?strong>method1</strong> Ҏ?br /> 对应的映\径分别是<strong><span style="color: #0000ff; font-size: small;"><em>/WEB-INF/content/different/url-error.jsp; /WEB-INF/content/another/url-error.jsp</em> </span> <br /></strong> <br /> 可能误导了大Ӟ一个方法被@Action注释后,只是多了一U调用方式,而不是说覆盖了原来的调用方式。比如对于如下例子:</div><div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #0000FF; ">import</span><span style="color: #000000; "> com.opensymphony.xwork2.ActionSupport;   <br /></span><span style="color: #008080; "> 2</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Action;  <br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Actions;  <br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; ">   <br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> HelloAction </span><span style="color: #0000FF; ">extends</span><span style="color: #000000; "> ActionSupport {  <br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">   @Action(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/another/url</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)  <br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; ">   </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String method1() {  <br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> “error”;  <br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">   }  <br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; ">}</span></div><span style="color: #000000;"></span><span style="color: #000000;"></span></div></div><div>我们调用method1Ҏ可以通过两种方式Q?br /> 1 <span style="color: #0000ff; font-size: medium;"> <span style="font-size: small;"><strong>/hello!method1.action</strong> </span> </span> <span style="font-size: small;"> 映射</span> <span style="font-size: small;">urlQ?strong><span style="color: #0000ff; font-size: small;">/WEB-INF/content/hello-error.jsp</span> </strong> </span> <span style="font-size: small;"><br /> 2</span> <span style="font-size: small;"> <span style="font-size: medium;"><strong><span style="color: #0000ff; font-size: small;">/another/url!method1.action</span> </strong> </span> </span> <span style="font-size: small;"> 映射</span> <span style="font-size: small;">urlQ?span style="font-size: small;"><strong><span style="color: #0000ff;">/WEB-INF/content/another/url-error.jsp</span> </strong> </span> </span> <br /> 可见Q两U方式均可对method1Ҏq行调用Q唯一的区别就是,两种调用的映是不一LQ所以,惌转到不同的界面,q是一个非常好的选择?/div><p> </p><p><strong>通过@Namespace 注释</strong></p><div><div><span style="color: #000000;"></span><span style="color: #000000;"></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #0000FF; ">import</span><span style="color: #000000; "> com.opensymphony.xwork2.ActionSupport;<br /></span><span style="color: #008080; "> 2</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Action;<br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Actions;<br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; "><br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; ">@Namespace(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/other</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> HelloWorld </span><span style="color: #0000FF; ">extends</span><span style="color: #000000; "> ActionSupport {<br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; "><br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String method1() {  <br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> “error”;  <br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; ">    }    <br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">    @Action(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">url</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)  <br /></span><span style="color: #008080; ">12</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String method2() {  <br /></span><span style="color: #008080; ">13</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> “error”;  <br /></span><span style="color: #008080; ">14</span> <span style="color: #000000; ">    }    <br /></span><span style="color: #008080; ">15</span> <span style="color: #000000; ">    @Action(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/different/url</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)  <br /></span><span style="color: #008080; ">16</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String method3() {  <br /></span><span style="color: #008080; ">17</span> <span style="color: #000000; ">         </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> “error”;  <br /></span><span style="color: #008080; ">18</span> <span style="color: #000000; ">    }    <br /></span><span style="color: #008080; ">19</span> <span style="color: #000000; ">}</span></div><span style="color: #000000;"> </span></div></div><div><span style="font-size: small;">通过 <strong><span style="color: #0000ff; font-size: small;">/other/hello-world!method1.action</span> </strong> </span> <span style="font-size: small;"> 讉K<strong>method1</strong> Ҏ?br /> 通过</span> <strong> <span style="color: #0000ff; font-size: small;">/other/url!method2.action</span> </strong> <span style="font-size: small;"> 讉K<strong>method2</strong> Ҏ<br /> 通过</span> <strong><span style="color: #0000ff; font-size: small;">/different /url!method3.action</span> </strong> <span style="font-size: small;"> 讉K<strong>method3</strong> Ҏ</span> <br /> 与@Action 注释不同的是Q该注释覆盖了默认的namespace(q里?#8217;/’)Q此时再?span style="font-size: small;">hello!method1.action</span> 已经不能讉K<strong>method1</strong> ?<br /><strong>@Results和@Result</strong> <br /><strong>1 全局的(globalQ?/strong> <br /> 全局results可以被actioncM所有的action分nQ这Uresults在actioncM使用注解q行声明?/div><div><div><span style="color: #000000;">   </span><span style="color: #000000;"><br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #0000FF; ">import</span><span style="color: #000000; "> com.opensymphony.xwork2.ActionSupport;   <br /></span><span style="color: #008080; "> 2</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Action;  <br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Actions;  <br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Result;  <br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Results;  <br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">     <br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; "> @Results({  <br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">   @Result(name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">failure</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, location</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/WEB-INF/fail.jsp</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)  <br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; "> })  <br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; "> </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> HelloWorld </span><span style="color: #0000FF; ">extends</span><span style="color: #000000; "> ActionSupport {  <br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">   </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String method1() {  <br /></span><span style="color: #008080; ">12</span> <span style="color: #000000; ">     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> “failure”;  <br /></span><span style="color: #008080; ">13</span> <span style="color: #000000; ">   }  <br /></span><span style="color: #008080; ">14</span> <span style="color: #000000; ">     @Action(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/different/url</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)  <br /></span><span style="color: #008080; ">15</span> <span style="color: #000000; ">   </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String method2() {  <br /></span><span style="color: #008080; ">16</span> <span style="color: #000000; ">     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> “failure”;  <br /></span><span style="color: #008080; ">17</span> <span style="color: #000000; ">   }  <br /></span><span style="color: #008080; ">18</span> <span style="color: #000000; ">}</span></div></div></div><div><span style="font-size: small;">当我们访?/span> <span style="font-size: small;"> <strong> </strong> </span> <span style="font-size: small;"><strong><span style="color: #0000ff; font-size: small;">/hello</span> </strong> </span> <span style="font-size: small;"><strong><span style="color: #0000ff; font-size: small;">-world</span> </strong> </span> <span style="font-size: small;"><strong><span style="color: #0000ff; font-size: small;">!method1.action</span> </strong> <span style="font-size: small;">Ӟq回</span> <span style="color: #0000ff; font-size: small;"> <strong>/WEB-INF/fail.jsp</strong> </span> <br /><span style="font-size: small;">当我们访?/span> <strong><span style="color: #0000ff; font-size: small;">/hello</span> </strong> </span> <span style="font-size: small;"><strong><span style="color: #0000ff; font-size: small;">-world</span> </strong> </span> <span style="font-size: small;"><strong><span style="color: #0000ff; font-size: small;">!method2.action</span> </strong> <span style="font-size: small;">Ӟq回</span> <strong><span style="color: #0000ff; font-size: small;">/WEB-INF/fail.jsp</span> </strong> <br /><span style="font-size: small;">当我们访?/span> <strong><span style="color: #0000ff; font-size: small;"> /different/url!method2.action</span> </strong> <span style="font-size: small;">Ӟq回</span> <strong> <span style="color: #0000ff; font-size: small;">/WEB-INF/fail.jsp</span> </strong> </span> <br /><br /><strong>2 本地的(localQ?/strong> <br /> 本地results只能在actionҎ上进行声明?/div><div><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #000000; ">   <br /></span><span style="color: #008080; "> 2</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> com.opensymphony.xwork2.ActionSupport;   <br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Action;<br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Actions;  <br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Result;  <br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">import</span><span style="color: #000000; "> org.apache.struts2.convention.annotation.Results;  <br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; ">  <br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> HelloWorld </span><span style="color: #0000FF; ">extends</span><span style="color: #000000; "> ActionSupport {  <br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">   @Action(value</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/other/bar</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,results</span><span style="color: #000000; ">=</span><span style="color: #000000; ">{@Result(name </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">error</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, location </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">www.baidu.com</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">redirect</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)})  <br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; ">   </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String method1() {  <br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> “error”;  <br /></span><span style="color: #008080; ">12</span> <span style="color: #000000; ">   }  <br /></span><span style="color: #008080; ">13</span> <span style="color: #000000;">} <br /></span></div><span style="color: #000000;"> </span> </div><div><span style="font-size: small;">当我们调?/span> <span style="font-size: small;"><strong><span style="color: #0000ff;">/hello</span> </strong> </span> <span style="font-size: small;"><strong><span style="color: #0000ff; font-size: small;">-world</span> </strong> </span> <span style="font-size: small;"><strong><span style="color: #0000ff;">!method1.action</span> </strong> </span> <span style="font-size: small;"> Ӟq回</span> <strong> <span style="color: #0000ff; font-size: small;">/WEB-INF/content/hello-error.jsp</span> </strong> <span style="font-size: small;"><br /></span> <span style="font-size: small;">当我们调?/span> <strong> <span style="color: #0000ff; font-size: small;">/other/bar!method1.action</span> </strong> <span style="font-size: small;"> Ӟq回</span> <span style="font-size: small;"><strong> <span style="color: #0000ff;">www.baidu.com</span> </strong> </span> </div></div><img src ="http://www.aygfsteel.com/hhhaaawwwkkk/aggbug/365679.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hhhaaawwwkkk/" target="_blank">生命的熾?/a> 2011-12-10 12:52 <a href="http://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/10/365679.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2学习W记Q三Q?-action接受参数http://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/10/365625.html生命的熾?/dc:creator>生命的熾?/author>Sat, 10 Dec 2011 04:52:00 GMThttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/10/365625.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/comments/365625.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/10/365625.html#Feedback0http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/365625.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/365625.htmlaction
 1 public class UserAction extends ActionSupport {
 2     
 3     private String name;
 4     private int age;
 5     
 6     public String add() {
 7         System.out.println("name=" + name);
 8         System.out.println("age=" + age);
 9         return SUCCESS;
10     }
11 
12     public String getName() {
13         return name;
14     }
15 
16     public void setName(String name) {
17         this.name = name;
18     }
19 
20     public int getAge() {
21         return age;
22     }
23 
24     public void setAge(int age) {
25         this.age = age;
26     }
27     
28     
29 }
面传递参Cؓname与age如:<a href="user/user!add?name=a&age=8">d用户</a>

二、用DomainModel接受参数
action
 1 public class UserAction extends ActionSupport {
 2     
 3     private User user;
 4     //private UserDTO userDTO;
 5     public String add() {
 6         System.out.println("name=" + user.getName());
 7         System.out.println("age=" + user.getAge());
 8         return SUCCESS;
 9     }
10 
11     public User getUser() {
12         return user;
13     }
14 
15     public void setUser(User user) {
16         this.user = user;
17     }
18 }
domain
 1 public class User {
 2     private String name;
 3     private int age;
 4     public String getName() {
 5         return name;
 6     }
 7     public void setName(String name) {
 8         this.name = name;
 9     }
10     public int getAge() {
11         return age;
12     }
13     public void setAge(int age) {
14         this.age = age;
15     }
16 }
面传递参数是需要这h传递如Q?br />
<a href="user/user!add?user.name=a&user.age=8">d用户</a>


]]>
struts2学习W记Q一Q?-struts.xml配置文ghttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/10/365624.html生命的熾?/dc:creator>生命的熾?/author>Sat, 10 Dec 2011 03:20:00 GMThttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/10/365624.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/comments/365624.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2011/12/10/365624.html#Feedback0http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/365624.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/365624.html学习sturts2无非是学习各种配置而已。最重要的就是struts.xml配置文g?br />
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd"
>

<struts>
    
<include file="login.xml" /><!--其他的xml文g容纳q来-->

    
<constant name="struts.devMode" value="true" />
    
<!-- 开发模式,更改配置文g无需重启服务器?nbsp;-->

    
<constant name="struts.i18n.encoding" value="UTF-8" />
    
<!-- 字符集,面传递是中文需要用此配置。解决中文问题?nbsp;-->

    
<constant name="struts.custom.i18n.resources" value="i18n" />
    
<!-- 国际?nbsp;-->

    
<constant name="struts.i18n.reload" value="false" />
    
<!--国际化是否生?/span>-->

    
<constant name="struts.convention.classes.reload" value="false" />
    
<!-- 配置Convention插g自动重加载映?/span>-->

    
<constant name="struts.convention.action.packages" value="net.shopxx.action" />
    
<!--
        q个属性用于约定Action cȝ根包Q这个包是Java cȝ包,而不是Struts.xml中配|的<package>节点Q?br />        在一个项目中有这样一pd的Java 包,那么当指定convention的这个属性,Struts
        框架׃在你讉K特定的URL时会自动的找到所要的h的实现类?nbsp;当你在浏览器中输入:
        http://localhost:8080/HelloWorld.action
        QStruts会自动的扑ֈq执行com.ZTest.web.action.HelloWorldAction.javacR?br />        当你在浏览器中输入: http://localhost:8080/test/aaa.action
        QStruts会自动的扑ֈq执行com.ZTest.web.action.test.aaaAction.javacR?br />    
-->

    
<constant name="struts.serve.static.browserCache" value="false" />
    
<!--是否strutsqo器中提供的静态内容应该被览器缓存在头部属性中-->

    
<constant name="struts.objectFactory" value="spring" />
    
<!-- com.opensymphony.xwork2.ObjectFactory接口 -->

    
<constant name="struts.multipart.maxSize" value="-1" />
    
<!-- multiparth信息的最大尺寸(文g上传用) -->

    
<constant name="struts.ui.theme" value="simple" />
    
<!-- 默认的UI template主题 -->

    
<constant name="struts.action.extension" value="action" />
    
<!--
        用URL扩展名来定是否q个h是被用作Struts actionQ其实也是讄 action的后~Q例如login.do?do'?br />    
-->

    
<constant name="struts.convention.result.path" value="/WEB-INF/template/" />
    
<!--
        讄Convention插g定位视图资源的根路径。默认gؓ/WEB-INF/content
        q个属性用于约定ActioncL行完毕以后返回资源的l果路径 当你在浏览器中输入:xxx/HelloWorld.aciton
        QStruts会自动的扑ֈq执行com.ZTest.web.action.HelloWorldAction.javac,q放回到WEB-INF/template/HelloWorld.jsp?br />    
-->

    
<constant name="struts.convention.action.name.separator"
        value
="_" />
    
<!--
        q个属性是U定当一个Java c?nbsp;有多个单词组合成的时候,映射的URL地址的时候访问的格式的分隔符?br />        如果不指定这个属性,Struts默认的分隔符?nbsp;“-”Q例?nbsp;HelloWorldAction 则访问的URL
        是Hello-World.action 如果指定q个属性是上面的格式,则是没有分隔W,会按照Java cd直接映射Q例?br />        HelloWorldAction 则访问的URL 是HelloWorld.action
    
-->

    
<constant name="struts.convention.action.name.lowercase"
        value
="false" />
    
<!--
        是否Actionc{换成写当一个类的类名是多个单词l合h的时候,例如 HelloWolrdActionQ如果指定了q个属性,
        则访问的地址必须是: HelloWorld.action ,如果不是指定q个属性则是: helloworld.action
    
-->

    
<constant name="struts.convention.default.parent.package"
        value
="default" />
    
<!--
          q个属性指定的是Strtus.xml中配|的 <package>节点的父节点?br />      
-->

    
<constant name="struts.freemarker.manager.classname" value="net.shopxx.common.FreemarkerManager" />
    
<!--
        属性指定Struts 2使用的FreeMarker理器。该属性的默认值是
        org.apache.struts2.views.freemarker.FreemarkerManagerQ这是Struts
        2内徏的FreeMarker理器?br />        struts.freemarker.wrapper.altMap该属性只支持true和false两个属性|默认值是true。通常无需修改该属性倹{?br />    
-->

    
<!--讉Khttp://localhost:8080/工程?hello_strutsQ既可以讉K根目录下得Hello.jspQ?/span>-->
    
<package name="front" extends="struts-default" namespace="/">
        
<default-action-ref name="errorPage404Action" /><!-- 默认的action -->
        
<action name="errorPage404Action">
            
<result type="redirect">/html/error_page_404.html</result>
        
</action>
        
        
<global-results><!-- 全局的resultQ只使用与此packeage中的所有action -->
            
<result name="mainpage">/main.jsp</result>
        
</global-results>
        
        
<action name="index" class="com.bjsxt.struts2.front.action.IndexAction1">
            
<!--
                配置了classE序会访问自qaction中的executeҎq回StringQ如return success
            
-->
            
<result name="success">/ActionIntroduction.jsp</result>
        
</action>
    
</package>

    
<package name="user" extends="struts-default" namespace="/user">
        
<action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction"
            method
="add"><!--加入了method="add"所以会讉KUserAction中的addҎQ这U方法不使用,忘了吧!Q?/span>-->
            
<result>/user_add_success.jsp</result>
            
<!--
                面调用<a href="<%=context
                %>/user/userAdd">d用户</a>【这样会讉K】namespace="/user"Qaction名称为name="userAdd"的action中addҎ
            
-->
        
</action>
        
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
            
<!--
                使用的方法在q里Q这样配|需要用的调用发放是(动态调用DMIQ?br />            
-->
            
<result>/user_add_success.jsp</result>
            
<!--
                面调用<a href="<%=context
                %>/user/user!add">d用户</a>【这样会讉K】namespace="/user"Qaction名称为name="user"的action中addҎ
            
-->
            
<!--用于一个action中多个方法对应返回同一个页面,q回不同面需要配|多个result-->
        
</action>
    
</package>

    
<package name="actions" extends="struts-default" namespace="/actions">
        
<action name="Student*" class="com.bjsxt.struts2.action.StudentAction"
            method
="{1}">
            
<result>/Student{1}_success.jsp</result>
            
<!--
                通配W的使用Qjsp中有两个讉Kq接 <a href="<%=context
                %>/actions/Studentadd">d学生</a> <a href="<%=context
                %>/actions/Studentdelete">删除学生</a>
                *和{1}是填充add和delete后所讉Kaction中的Ҏ与jsp 【action中一定会有两个方法一个add一个delete?br />            
-->
            
<!--用于一个action中多个方法,q回不同面。只需配置一个带有通配W的result【约定优于配|?/span>-->
        
</action>
        
<action name="*_*" class="com.bjsxt.struts2.action.{1}Action"
            method
="{2}"><!--W一?对应{1}Q第二个*对应{2}-->
            
<result>/{1}_{2}_success.jsp</result>
            
<!-- {0}_success.jsp -->
        
</action>
        
<!--用于多个action中多个方法,q回不同面。只需配置一个带有通配W的result【约定优于配|?/span>-->
    
</package>

    
<package name="default" namespace="/" extends="struts-default">
        
<default-action-ref name="index"></default-action-ref>
        
<!--默认的action配置-->
        
<action name="index">
            
<result>/default.jsp</result>
        
</action>
    
</package>

</struts>
如果使用struts2的convertion pluginU束Q可以完全不用配|action


]]>
struts2学习W记Q四Q?-获取Session和requestҎhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/09/294505.html生命的熾?/dc:creator>生命的熾?/author>Wed, 09 Sep 2009 12:14:00 GMThttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/09/294505.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/comments/294505.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/09/294505.html#Feedback1http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/294505.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/294505.html//W一U很用public class LoginAction1 extends ActionSupport { &n...  阅读全文

]]>
关于struts2标签取值的备忘??http://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/08/294360.html生命的熾?/dc:creator>生命的熾?/author>Tue, 08 Sep 2009 14:41:00 GMThttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/08/294360.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/comments/294360.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2009/09/08/294360.html#Feedback0http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/294360.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/294360.html取D通过<s:property value="" />或在L?lt;s:/>标签内?{}Q?span class="Apple-converted-space"> 

当Action的valueStack中有该属性的值时Q只需直接使用该属性的名字卛_Q?span class="Apple-converted-space"> 

当Action的valueStack中没有该属性的值时Q比如在session,application范围中的属性值时Q需要加#或?attr.Q?span class="Apple-converted-space"> 

例子Q?span class="Apple-converted-space"> 
假设某Action中有person成员变量Q在application中存在company属?span class="Apple-converted-space"> 
那么我们可以通过以下Ҏ取| 
<s:property value="person.name" /> 
<s:property value="#person.name" /> 
<s:property value="company.name" /> //无法取到Q因为company不在action的valueStack?span class="Apple-converted-space"> 
<s:property value="#company.name" /> 

<s:textfield name="person.name" value="person.name" /> //错误Qvalue会直接显Cperson.name字样 
<s:textfield name="person.name" value="%{person.name}" /> 
<s:textfield name="person.company.name" value="%{#company.name}" /> 
<s:textfield name="person.company.name" value="%{#attr.company.name}" /> 

]]>
struts2.0入门与配|?/title><link>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/11/02/238187.html</link><dc:creator>生命的熾?/dc:creator><author>生命的熾?/author><pubDate>Sun, 02 Nov 2008 08:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/11/02/238187.html</guid><wfw:comment>http://www.aygfsteel.com/hhhaaawwwkkk/comments/238187.html</wfw:comment><comments>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/11/02/238187.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/238187.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/238187.html</trackback:ping><description><![CDATA[一、开发准备工作:<br /> 1.首先下蝲struts2.0的包<a >http://struts.apache.org/download.cgi#struts2012</a>下蝲Full Distribution?br />     lib包含所有的struts2.0的jar包,以及它所依赖的第三方的jar包;<br />     apps是struts2.0的一些例子;<br />     docs包含struts2的所有帮助文档;<br />     src包含struts2所有的源代码;<br />     j4是帮助jdk1.4能够支持struts2.如果用jdk1.4以上的版本(jdk5.0/jsd6.0Q则不需要;<br /> 2.开发环境:<br />     IDEQMyEclipse6.0QServlet ContainerQtomcat6.0Q?br /> 二、动手开发一个简单的例子<br /> 1、打开Eclipse 3.2新徏Web工程 <p>2、加入sturts2的jar?br />     commons-logging-1.0.4.jar-----日志包;<br />     freemarker-2.3.8.jar<br />     ognl-2.6.11.jar<br />     struts2-core-2.0.11.jar<br />     xwork-2.0.4.jar<br /> 3.修改web.xml文gZ下代码: </p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff"><?</span><span style="color: #ff00ff">xml version="1.0" encoding="ISO-8859-1"</span><span style="color: #0000ff">?></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"><!</span><span style="color: #ff00ff">DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"><</span><span style="color: #800000">web-app</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">display-name</span><span style="color: #0000ff">></span><span style="color: #000000">Struts 2.0 Hello World</span><span style="color: #0000ff"></</span><span style="color: #800000">display-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">filter</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000">struts2</span><span style="color: #0000ff"></</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000">        </span><span style="color: #0000ff"><</span><span style="color: #800000">filter-class</span><span style="color: #0000ff">></span><span style="color: #000000">org.apache.struts2.dispatcher.FilterDispatcher</span><span style="color: #0000ff"></</span><span style="color: #800000">filter-class</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">filter</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">filter-mapping</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000">struts2</span><span style="color: #0000ff"></</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">></span><span style="color: #000000">/*</span><span style="color: #0000ff"></</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">filter-mapping</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">welcome-file-list</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">welcome-file</span><span style="color: #0000ff">></span><span style="color: #000000">index.html</span><span style="color: #0000ff"></</span><span style="color: #800000">welcome-file</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">welcome-file-list</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"></</span><span style="color: #800000">web-app</span><span style="color: #0000ff">></span></div> 4.在WebRoot下新建名为login.jsp代码如下Q?br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_2_44_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2_44_Open_Text.style.display='none'; Codehighlighter1_2_44_Closed_Image.style.display='inline'; Codehighlighter1_2_44_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_2_44_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2_44_Closed_Text.style.display='none'; Codehighlighter1_2_44_Open_Image.style.display='inline'; Codehighlighter1_2_44_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /><span style="color: #000000; background-color: #ffff00"><%</span><span id="Codehighlighter1_2_44_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_2_44_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@ page language</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">java</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5"> pageEncoding</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">UTF-8</span><span style="color: #000000; background-color: #f5f5f5">"</span></span><span style="color: #000000; background-color: #ffff00">%></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"><!</span><span style="color: #ff00ff">DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"><</span><span style="color: #800000">html</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff"><</span><span style="color: #800000">head</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">title</span><span style="color: #0000ff">></span><span style="color: #000000">My login.jsp</span><span style="color: #0000ff"></</span><span style="color: #800000">title</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff"></</span><span style="color: #800000">head</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff"><</span><span style="color: #800000">body</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">form </span><span style="color: #ff0000">action</span><span style="color: #0000ff">="login.action"</span><span style="color: #ff0000"> method</span><span style="color: #0000ff">="post"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />        username:</span><span style="color: #0000ff"><</span><span style="color: #800000">input </span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text"</span><span style="color: #ff0000"> name</span><span style="color: #0000ff">="username"</span><span style="color: #0000ff">><</span><span style="color: #800000">br</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />        password:</span><span style="color: #0000ff"><</span><span style="color: #800000">input </span><span style="color: #ff0000">type</span><span style="color: #0000ff">="password"</span><span style="color: #ff0000"> name</span><span style="color: #0000ff">="password"</span><span style="color: #0000ff">><</span><span style="color: #800000">br</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">input </span><span style="color: #ff0000">type</span><span style="color: #0000ff">="submit"</span><span style="color: #ff0000"> value</span><span style="color: #0000ff">="submit"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">form</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff"></</span><span style="color: #800000">body</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"></</span><span style="color: #800000">html</span><span style="color: #0000ff">></span></div> 5.在src下新Z个包Q名为com.test.action?br /> 6.在包中新Z个javac,名ؓLoginAction.javaQ代码如下:<br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">package</span><span style="color: #000000"> com.test.action;<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> com.opensymphony.xwork2.ActionSupport;<br /> <img id="Codehighlighter1_117_503_Open_Image" onclick="this.style.display='none'; Codehighlighter1_117_503_Open_Text.style.display='none'; Codehighlighter1_117_503_Closed_Image.style.display='inline'; Codehighlighter1_117_503_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_117_503_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_117_503_Closed_Text.style.display='none'; Codehighlighter1_117_503_Open_Image.style.display='inline'; Codehighlighter1_117_503_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> LoginAcion </span><span style="color: #0000ff">extends</span><span style="color: #000000"> ActionSupport </span><span id="Codehighlighter1_117_503_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">private</span><span style="color: #000000"> String username;<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">private</span><span style="color: #000000"> String password;<br /> <img id="Codehighlighter1_200_222_Open_Image" onclick="this.style.display='none'; Codehighlighter1_200_222_Open_Text.style.display='none'; Codehighlighter1_200_222_Closed_Image.style.display='inline'; Codehighlighter1_200_222_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_200_222_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_200_222_Closed_Text.style.display='none'; Codehighlighter1_200_222_Open_Image.style.display='inline'; Codehighlighter1_200_222_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getUsername() </span><span id="Codehighlighter1_200_222_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> username;<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_266_297_Open_Image" onclick="this.style.display='none'; Codehighlighter1_266_297_Open_Text.style.display='none'; Codehighlighter1_266_297_Closed_Image.style.display='inline'; Codehighlighter1_266_297_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_266_297_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_266_297_Closed_Text.style.display='none'; Codehighlighter1_266_297_Open_Image.style.display='inline'; Codehighlighter1_266_297_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> setUsername(String username) </span><span id="Codehighlighter1_266_297_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">this</span><span style="color: #000000">.username </span><span style="color: #000000">=</span><span style="color: #000000"> username;<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_328_350_Open_Image" onclick="this.style.display='none'; Codehighlighter1_328_350_Open_Text.style.display='none'; Codehighlighter1_328_350_Closed_Image.style.display='inline'; Codehighlighter1_328_350_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_328_350_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_328_350_Closed_Text.style.display='none'; Codehighlighter1_328_350_Open_Image.style.display='inline'; Codehighlighter1_328_350_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getPassword() </span><span id="Codehighlighter1_328_350_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> password;<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_394_425_Open_Image" onclick="this.style.display='none'; Codehighlighter1_394_425_Open_Text.style.display='none'; Codehighlighter1_394_425_Closed_Image.style.display='inline'; Codehighlighter1_394_425_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_394_425_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_394_425_Closed_Text.style.display='none'; Codehighlighter1_394_425_Open_Image.style.display='inline'; Codehighlighter1_394_425_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> setPassword(String password) </span><span id="Codehighlighter1_394_425_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">this</span><span style="color: #000000">.password </span><span style="color: #000000">=</span><span style="color: #000000"> password;<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    @Override<br /> <img id="Codehighlighter1_480_501_Open_Image" onclick="this.style.display='none'; Codehighlighter1_480_501_Open_Text.style.display='none'; Codehighlighter1_480_501_Closed_Image.style.display='inline'; Codehighlighter1_480_501_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_480_501_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_480_501_Closed_Text.style.display='none'; Codehighlighter1_480_501_Open_Image.style.display='inline'; Codehighlighter1_480_501_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> String execute() </span><span style="color: #0000ff">throws</span><span style="color: #000000"> Exception </span><span id="Codehighlighter1_480_501_Open_Text"><span style="color: #000000">{<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> SUCCESS;<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span></div> <p>7.在src目录下新Z个名为struts.xml的配|文件代码如下:</p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff"><?</span><span style="color: #ff00ff">xml version="1.0" encoding="UTF-8" </span><span style="color: #0000ff">?></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"><!</span><span style="color: #ff00ff">DOCTYPE struts PUBLIC<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"<br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    "http://struts.apache.org/dtds/struts-2.0.dtd"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"><</span><span style="color: #800000">struts</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">package </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="struts"</span><span style="color: #ff0000"> extends</span><span style="color: #0000ff">="struts-default"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">action </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="login"</span><span style="color: #ff0000"> class</span><span style="color: #0000ff">="com.test.action.LoginAction"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">result</span><span style="color: #0000ff">></span><span style="color: #000000">/result.jsp</span><span style="color: #0000ff"></</span><span style="color: #800000">result</span><span style="color: #0000ff">></span><span style="color: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"></</span><span style="color: #800000">action</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">package</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"></</span><span style="color: #800000">struts</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span></div> <p>8.新徏result.jsp</p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><%@ page language="java" pageEncoding="UTF-8"%><br /> <%@ taglib prefix="s" uri="/struts-tags" %><br /> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br /> <html><br />   <head><br />     <title>My login.jsp</title><br />   </head><br />   <body><br />      username:<s:property value="username"/><br><br />      password:<s:property value="password"/><br />   </body><br /> </html></div> 三、运行结果:<br /> username:<input value="aaaaaaa" name="username" type="text" />                                           username:aaaaaaa<br /> password:<input type="password" name="password" />                                             password:aaaaaaa<br /> <input type="submit" value="submit" /> <br /> 四、注意的斚wQ?br /> 1.struts.xml?lt;result>/result.jsp</result> 也可以写?lt;result name="success">/result.jsp</result> 它与execute()Ҏ中的return SUCCESS;是对应的?br /> 2.login.jsp?lt;form action="login.action" method="post">Q如果今后我们用到struts2的标{ְ要这样写<s: form action="login" method="post">不要在加?action?br /> <br />   <p><br />  </p> <img src ="http://www.aygfsteel.com/hhhaaawwwkkk/aggbug/238187.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hhhaaawwwkkk/" target="_blank">生命的熾?/a> 2008-11-02 16:13 <a href="http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/11/02/238187.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2.0标签库(三)表单标签http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/27/236925.html生命的熾?/dc:creator>生命的熾?/author>Mon, 27 Oct 2008 09:57:00 GMThttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/27/236925.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/comments/236925.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/27/236925.html#Feedback1http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/236925.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/236925.html阅读全文

]]>
Struts2.0标签库(二)数据标签[转]http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/24/236460.html生命的熾?/dc:creator>生命的熾?/author>Fri, 24 Oct 2008 10:25:00 GMThttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/24/236460.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/comments/236460.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/24/236460.html#Feedback0http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/236460.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/236460.html阅读全文

]]>
Struts2.0标签库(一Q控制标{?/title><link>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/24/struts2_append_ifelse_iterator_meger_subset.html</link><dc:creator>生命的熾?/dc:creator><author>生命的熾?/author><pubDate>Fri, 24 Oct 2008 06:56:00 GMT</pubDate><guid>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/24/struts2_append_ifelse_iterator_meger_subset.html</guid><wfw:comment>http://www.aygfsteel.com/hhhaaawwwkkk/comments/236401.html</wfw:comment><comments>http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/24/struts2_append_ifelse_iterator_meger_subset.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/236401.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/236401.html</trackback:ping><description><![CDATA[     摘要: Struts2.0标签大体可分Z下几c: 1.UIQUser InterfaceQ用L面)标签Q主要生成HTML元素标签Q?    (1)表单标签Q用于生成HTML面的form元素Q以及普通表单元素的标签?    (2)非表单标{:用于生成面上的树、Tab也等标签?2.非UI标签Q主要用于数据访问?..  <a href='http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/24/struts2_append_ifelse_iterator_meger_subset.html'>阅读全文</a><img src ="http://www.aygfsteel.com/hhhaaawwwkkk/aggbug/236401.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hhhaaawwwkkk/" target="_blank">生命的熾?/a> 2008-10-24 14:56 <a href="http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/24/struts2_append_ifelse_iterator_meger_subset.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2.0的Struts.xml配置文g文gl构http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/22/235981.html生命的熾?/dc:creator>生命的熾?/author>Wed, 22 Oct 2008 08:52:00 GMThttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/22/235981.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/comments/235981.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/22/235981.html#Feedback0http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/235981.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/235981.html
 1<?xml version="1.0" encoding="UTF-8"?>
 2
 3<!-- 下面指定Struts2配置文g的DTD信息 -->
 4<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
 5"http://struts.apache.org/dtds/struts-2.0.dtd">
 6
 7<!-- struts是Struts2配置文g的跟元素 -->
 8<struts>
 9    <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
10    <constant name="" value="" />
11    <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
12    <bean class="" type="" name="" scope="" optional="" static="" />
13    <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
14    <include file="" />
15    <!--package元素是Struts配置文g的核心,该元素可以出?ơ,也可以无限多?nbsp;-->
16    <package name="必填的包? extends="" namespace="" abstract=""
17        externalReferenceResolver="">
18        <!--该元素可以出玎ͼ也可以不出现Q最多出C?nbsp;-->
19        <result-types>
20            <!--该元素必d玎ͼ也可以无限多?nbsp;-->
21            <result-type name="" class="" default="false">
22                <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
23                <param name="参数?>参数?/span></param>
24            </result-type>
25        </result-types>
26        <!--该元素可以出玎ͼ也可以不出现Q最多出C?nbsp;-->
27        <interceptors>
28            <!--该元素的interceptor元素和interceptor-stack臛_出现其中之一Q也可二者都出现 -->
29            <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
30            <interceptor name="" class="">
31                <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
32                <param name="参数?>参数?/span></param>
33            </interceptor>
34            <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
35            <interceptor-stack name="">
36                <!--该元素必d玎ͼ也可以无限多?nbsp;-->
37                <interceptor-ref name="">
38                    <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
39                    <param name="参数?>参数?/span></param>
40                </interceptor-ref>
41            </interceptor-stack>
42        </interceptors>
43        <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
44        <default-interceptor-ref name="" />
45        <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
46        <default-action-ref name="" />
47        <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
48        <global-results>
49            <!--该元素必d玎ͼ也可以无限多?nbsp;-->
50            <result name="" type="">
51                <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
52                映射资源
53                <!--下面元素可以出现0ơ,也可以无限多?nbsp;-->
54                <param name="参数?>参数?/span></param>
55            </result>
56        </global-results>
57        <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
58        <global-exception-mappings>
59            <!--该元素必d玎ͼ也可以无限多?nbsp;-->
60            <exception-mapping result="" exception="" name="">
61                异常处理资源
62                <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
63                <param name="参数?>参数?/span></param>
64            </exception-mapping>
65        </global-exception-mappings>
66        <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
67        <action name="" class="" converter="" method="">
68            <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
69            <param name="参数?>参数?/span></param>
70            <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
71            <result name="" type="">
72                映射资源
73                <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
74                <param name="参数?>参数?/span></param>
75            </result>
76            <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
77            <interceptor-ref name="">
78                <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
79                <param name="参数?>参数?/span></param>
80            </interceptor-ref>
81            <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
82            <exception-mapping result="" exception="" name="">
83                异常处理资源
84                <!--该字W串内容可以出现0ơ,也可以无限多?nbsp;-->
85                <param name="参数?>参数?/span></param>
86            </exception-mapping>
87        </action>
88    </package>
89</struts>
90


]]>
Struts2.0的Struts.properties(?http://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/21/235672.html生命的熾?/dc:creator>生命的熾?/author>Tue, 21 Oct 2008 06:36:00 GMThttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/21/235672.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/comments/235672.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/archive/2008/10/21/235672.html#Feedback0http://www.aygfsteel.com/hhhaaawwwkkk/comments/commentRss/235672.htmlhttp://www.aygfsteel.com/hhhaaawwwkkk/services/trackbacks/235672.htmlstruts.action.extension
          The URL extension to use to determine if the request is meant for a Struts action
           用URL扩展名来定是否q个h是被用作Struts actionQ其实也是讄 action的后~Q例如login.do的\'do\'字?/font>

struts.configuration
          The org.apache.struts2.config.Configuration implementation class
            org.apache.struts2.config.Configuration接口?/font>

struts.configuration.files
          A list of configuration files automatically loaded by Struts
           struts自动加蝲的一个配|文件列?/font>

struts.configuration.xml.reload
          Whether to reload the XML configuration or not
           是否加蝲xml配置(true,false)

struts.continuations.package
           The package containing actions that use Rife continuations
           含有actions的完整连l的package名称

struts.custom.i18n.resources
          Location of additional localization properties files to load
           加蝲附加的国际化属性文Ӟ不包?properties后缀Q?/font>

struts.custom.properties
          Location of additional configuration properties files to load
           加蝲附加的配|文件的位置


struts.devMode
          Whether Struts is in development mode or not
           是否为struts开发模?/font>

struts.dispatcher.parametersWorkaround
          Whether to use a Servlet request parameter workaround necessary for some versions of WebLogic
            Q某些版本的weblogic专用Q是否用一个servleth参数工作区(PARAMETERSWORKAROUNDQ?/font>

struts.enable.DynamicMethodInvocation
          Allows one to disable dynamic method invocation from the URL
            允许动态方法调?/font>

struts.freemarker.manager.classname
          The org.apache.struts2.views.freemarker.FreemarkerManager implementation class
           org.apache.struts2.views.freemarker.FreemarkerManager接口?/font>

struts.i18n.encoding
          The encoding to use for localization messages
           国际化信息内?/font>

struts.i18n.reload
          Whether the localization messages should automatically be reloaded
           是否国际化信息自动加?

struts.locale
          The default locale for the Struts application
           默认的国际化地区信息

struts.mapper.class
          The org.apache.struts2.dispatcher.mapper.ActionMapper implementation class
            org.apache.struts2.dispatcher.mapper.ActionMapper接口

struts.multipart.maxSize
          The maximize size of a multipart request (file upload)
           multiparth信息的最大尺寸(文g上传用)

struts.multipart.parser
          The org.apache.struts2.dispatcher.multipart.
          MultiPartRequest parser implementation for a multipart request (file upload)
          专ؓmultiparth信息使用的org.apache.struts2.dispatcher.multipart.MultiPartRequest解析器接口(文g上传用)


struts.multipart.saveDir
          The directory to use for storing uploaded files
           讄存储上传文g的目录夹

struts.objectFactory
          The com.opensymphony.xwork2.ObjectFactory implementation class
           com.opensymphony.xwork2.ObjectFactory接口QspringQ?/font>

struts.objectFactory.spring.autoWire
          Whether Spring should autoWire or not
           是否自动l定Spring

struts.objectFactory.spring.useClassCache
          Whether Spring should use its class cache or not
           是否spring应该使用自n的cache

struts.objectTypeDeterminer
          The com.opensymphony.xwork2.util.ObjectTypeDeterminer implementation class
            com.opensymphony.xwork2.util.ObjectTypeDeterminer接口

struts.serve.static.browserCache
  If static content served by the Struts filter should set browser caching header properties or not
           是否strutsqo器中提供的静态内容应该被览器缓存在头部属性中

struts.serve.static
          Whether the Struts filter should serve static content or not
           是否strutsqo器应该提供静态内?/font>

struts.tag.altSyntax
          Whether to use the alterative syntax for the tags or not
           是否可以用替代的语法替代tags

struts.ui.templateDir
          The directory containing UI templates
           UI templates的目录夹

struts.ui.theme
          The default UI template theme
           默认的UI template主题

struts.url.http.port
          The HTTP port used by Struts URLs
           讄http端口

struts.url.https.port
          The HTTPS port used by Struts URLs
           讄https端口

struts.url.includeParams
          The default includeParams method to generate Struts URLs
          在url中?默认的includeParams

struts.velocity.configfile
          The Velocity configuration file path
           velocity配置文g路径

struts.velocity.contexts
          List of Velocity context names
           velocity的context列表

struts.velocity.manager.classname
          org.apache.struts2.views.velocity.VelocityManager implementation class
           org.apache.struts2.views.velocity.VelocityManager接口?/font>

struts.velocity.toolboxlocation
          The location of the Velocity toolbox
           velocity工具盒的位置

struts.xslt.nocache
          Whether or not XSLT templates should not be cached
           是否XSLT模版应该被缓?/font>



]]>
վ֩ģ壺 ƽɽ| ʳ| ػʵ| ܿ| | | ԭ| | º| | | | | | ˮ| | | ̳| | ɽʡ| ض| Ʊ| | ʹ| | Զ| ǹ| ij| | ƽ| ƽ| | ѳ| Դ| | | ԭ| ̨| ƽ| ³| |