﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Niuniu-随笔分类-Struts2</title><link>http://www.blogjava.net/niuniu/category/37489.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 10 Feb 2009 06:28:15 GMT</lastBuildDate><pubDate>Tue, 10 Feb 2009 06:28:15 GMT</pubDate><ttl>60</ttl><item><title>Struts2初探</title><link>http://www.blogjava.net/niuniu/archive/2009/02/04/253326.html</link><dc:creator>牛--牛</dc:creator><author>牛--牛</author><pubDate>Wed, 04 Feb 2009 15:20:00 GMT</pubDate><guid>http://www.blogjava.net/niuniu/archive/2009/02/04/253326.html</guid><wfw:comment>http://www.blogjava.net/niuniu/comments/253326.html</wfw:comment><comments>http://www.blogjava.net/niuniu/archive/2009/02/04/253326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/niuniu/comments/commentRss/253326.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/niuniu/services/trackbacks/253326.html</trackback:ping><description><![CDATA[从事Web方向工作,了解一些实用的框架是必不可小的.<br />
例如Struts,现在它已经"升"级到Struts2,它并不是一个版本的延升,而是由Struts和WebWork的结合,吸取了两者的精华,从而合二为一,因此诞生了...之取名为Struts2.<br />
为了需要,也开始了学习Struts之旅.<br />
<br />
<font color="#ff0000"><strong>Struts2初探<br />
实现—>[简捷问候语]<br />
</strong>   <font color="#000000">兵器:</font><br />
MyEclipse5.5<br />
Tomcat5.5<br />
Jdk1.5<br />
<font color="#000000">主角:<br />
</font>            Struts2  <br />
<a title="Struts2官方下载(版本号struts-2.0.14)" href="http://apache.etoak.com/struts/binaries/struts-2.0.14-all.zip">点击之处下载Struts2</a><br />
<font color="#000000">装备准备其全,<font color="#ff0000">Go Go Go<br />
</font>1.首先新建一个Web工程,空壳壳如下:<br />
</font> <img src="http://www.blogjava.net/images/blogjava_net/niuniu/37445/o_a.jpg" alt="" /><br />
<font color="#000000">2.使用Struts2,我们需要要引用它的包,一般情况下我们只需要五个包就足够了.<br />
五个包分别是:<br />
</font>           commons-logging-1.0.4.jar<br />
freemarker-2.3.8.jar<br />
ognl-2.6.11.jar<br />
struts2-core-2.0.11.1.jar<br />
xwork-2.0.4.jar<br />
<font color="#000000">  把这五个包复制到工程lib目录下,然后在src目录下新建一个名为struts.xml的xml文件.<br />
要想Struts2起到作用,进行工作我们需要在web.xml配置文件,增加Struts2的核心Filter.<br />
</font>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #008000">&lt;!--</span><span style="color: #008000"> 配置Struts2核心过滤器 </span><span style="color: #008000">--></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000">struts2</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;</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">&lt;/</span><span style="color: #800000">filter-class</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    <br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #008000">&lt;!--</span><span style="color: #008000"> Struts2 Mapping </span><span style="color: #008000">--></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-mapping</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000">struts2</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">></span><span style="color: #000000">/*</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-mapping</span><span style="color: #0000ff">></span></div>
提示:如果忘记Struts2核心Filter路径可以在struts2-core-2.0.11.1.jar下找到.<br />
<br />
<font color="#000000">至此再在工程建立一个包,并在该包建立一个控制器类.控制器非常简单,就如一个普通的PoJo类.(<font color="#ff0000">Struts2.java</font>)<br />
</font>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><span style="color: #008080"> 1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">package</span><span style="color: #000000"> com.company.struts.demo.action;<br />
</span><span style="color: #008080"> 2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><br />
</span><span style="color: #008080"> 3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.http.HttpServletRequest;<br />
</span><span style="color: #008080"> 4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> org.apache.struts2.ServletActionContext;<br />
</span><span style="color: #008080"> 5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><br />
</span><span style="color: #008080"> 6</span><span style="color: #000000"><img id="Codehighlighter1_136_181_Open_Image" onclick="this.style.display='none'; Codehighlighter1_136_181_Open_Text.style.display='none'; Codehighlighter1_136_181_Closed_Image.style.display='inline'; Codehighlighter1_136_181_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_136_181_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_136_181_Closed_Text.style.display='none'; Codehighlighter1_136_181_Open_Image.style.display='inline'; Codehighlighter1_136_181_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span id="Codehighlighter1_136_181_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">/** */</span><span id="Codehighlighter1_136_181_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080"> 7</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> * Struts2初探<br />
</span><span style="color: #008080"> 8</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> * <br />
</span><span style="color: #008080"> 9</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> * </span><span style="color: #808080">@author</span><span style="color: #008000"> NiuNiu<br />
</span><span style="color: #008080">10</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> * <br />
</span><span style="color: #008080">11</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" /> </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img id="Codehighlighter1_204_553_Open_Image" onclick="this.style.display='none'; Codehighlighter1_204_553_Open_Text.style.display='none'; Codehighlighter1_204_553_Closed_Image.style.display='inline'; Codehighlighter1_204_553_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_204_553_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_204_553_Closed_Text.style.display='none'; Codehighlighter1_204_553_Open_Image.style.display='inline'; Codehighlighter1_204_553_Open_Text.style.display='inline';" src="http://www.blogjava.net/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"> Struts2 </span><span id="Codehighlighter1_204_553_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.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_204_553_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    String hi;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #008000">//</span><span style="color: #008000"> 处理用户请求方法<br />
</span><span style="color: #008080">17</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #008000">//</span><span style="color: #008000"> 当action未指定method属性时 默认指向execute方法</span><span style="color: #008000"><br />
</span><span style="color: #008080">18</span><span style="color: #008000"><img id="Codehighlighter1_296_427_Open_Image" onclick="this.style.display='none'; Codehighlighter1_296_427_Open_Text.style.display='none'; Codehighlighter1_296_427_Closed_Image.style.display='inline'; Codehighlighter1_296_427_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_296_427_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_296_427_Closed_Text.style.display='none'; Codehighlighter1_296_427_Open_Image.style.display='inline'; Codehighlighter1_296_427_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" /></span><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> String execute() </span><span id="Codehighlighter1_296_427_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.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_296_427_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        HttpServletRequest request </span><span style="color: #000000">=</span><span style="color: #000000"> ServletActionContext.getRequest();<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        request.setAttribute(</span><span style="color: #000000">"</span><span style="color: #000000">hi</span><span style="color: #000000">"</span><span style="color: #000000">, getHi());<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">success</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img id="Codehighlighter1_431_457_Open_Image" onclick="this.style.display='none'; Codehighlighter1_431_457_Open_Text.style.display='none'; Codehighlighter1_431_457_Closed_Image.style.display='inline'; Codehighlighter1_431_457_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_431_457_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_431_457_Closed_Text.style.display='none'; Codehighlighter1_431_457_Open_Image.style.display='inline'; Codehighlighter1_431_457_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span id="Codehighlighter1_431_457_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">/** */</span><span id="Codehighlighter1_431_457_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">28</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />     * get / set<br />
</span><span style="color: #008080">29</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />     * <br />
</span><span style="color: #008080">30</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />     </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img id="Codehighlighter1_483_499_Open_Image" onclick="this.style.display='none'; Codehighlighter1_483_499_Open_Text.style.display='none'; Codehighlighter1_483_499_Closed_Image.style.display='inline'; Codehighlighter1_483_499_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_483_499_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_483_499_Closed_Text.style.display='none'; Codehighlighter1_483_499_Open_Image.style.display='inline'; Codehighlighter1_483_499_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getHi() </span><span id="Codehighlighter1_483_499_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.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_483_499_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> hi;<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img id="Codehighlighter1_532_551_Open_Image" onclick="this.style.display='none'; Codehighlighter1_532_551_Open_Text.style.display='none'; Codehighlighter1_532_551_Closed_Image.style.display='inline'; Codehighlighter1_532_551_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_532_551_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_532_551_Closed_Text.style.display='none'; Codehighlighter1_532_551_Open_Image.style.display='inline'; Codehighlighter1_532_551_Open_Text.style.display='inline';" src="http://www.blogjava.net/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"> setHi(String hi) </span><span id="Codehighlighter1_532_551_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.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_532_551_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">this</span><span style="color: #000000">.hi </span><span style="color: #000000">=</span><span style="color: #000000"> hi;<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span></div>
<br />
<font color="#000000">还记得struts.xml么？ 呵呵<br />
上述一切都ok,还不能处理用户的请求,为此就是struts.xml发挥作用的时候到了.<br />
</font>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><span style="color: #008080"> 1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE struts PUBLIC<br />
</span><span style="color: #008080"> 2</span><span style="color: #ff00ff"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"<br />
</span><span style="color: #008080"> 3</span><span style="color: #ff00ff"><img src="http://www.blogjava.net/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 />
</span><span style="color: #008080"> 4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">struts</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">package </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="struts2"</span><span style="color: #ff0000"> extends</span><span style="color: #0000ff">="struts-default"</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #008000">&lt;!--</span><span style="color: #008000"> <br />
</span><span style="color: #008080"> 7</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />            name:提交时需要指向Action的别名<br />
</span><span style="color: #008080"> 8</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />            class:指定Action路径<br />
</span><span style="color: #008080"> 9</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />         </span><span style="color: #008000">--></span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">action </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="struts"</span><span style="color: #ff0000"> class</span><span style="color: #0000ff">="com.company.struts.demo.action.Struts2"</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />            </span><span style="color: #008000">&lt;!--</span><span style="color: #008000"> 资源映射 </span><span style="color: #008000">--></span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />            </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">result </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="success"</span><span style="color: #0000ff">></span><span style="color: #000000">/success.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">result</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">action</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">package</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">struts</span><span style="color: #0000ff">></span></div>
提示:dtd我是懒得去记的,告诉你一个办法.在struts2-core-2.0.11.1.jar下的struts-2.0.dtd下可找到.<br />
<font color="#000000">简捷的问候语? 哦 还需要一个页面让它来传递信息(<font color="#ff0000">chutanstruts2.jsp</font>).<br />
</font>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><span style="color: #008080"> 1</span><img id="Codehighlighter1_2_45_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2_45_Open_Text.style.display='none'; Codehighlighter1_2_45_Closed_Image.style.display='inline'; Codehighlighter1_2_45_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_2_45_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2_45_Closed_Text.style.display='none'; Codehighlighter1_2_45_Open_Image.style.display='inline'; Codehighlighter1_2_45_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_2_45_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.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_2_45_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 />
</span><span style="color: #008080"> 2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000">&lt;!--</span><span style="color: #008000"> 引入Struts2标签 </span><span style="color: #008000">--></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 3</span><span style="color: #000000"><img id="Codehighlighter1_72_110_Open_Image" onclick="this.style.display='none'; Codehighlighter1_72_110_Open_Text.style.display='none'; Codehighlighter1_72_110_Closed_Image.style.display='inline'; Codehighlighter1_72_110_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_72_110_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_72_110_Closed_Text.style.display='none'; Codehighlighter1_72_110_Open_Image.style.display='inline'; Codehighlighter1_72_110_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_72_110_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.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_72_110_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@ taglib prefix</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">s</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5"> uri</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">/struts-tags</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5"> </span></span><span style="color: #000000; background-color: #ffff00">%></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;!</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 />
</span><span style="color: #008080"> 5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">></span><span style="color: #000000">    <br />
</span><span style="color: #008080"> 7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">></span><span style="color: #000000">Struts2初探</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">></span><span style="color: #000000">        <br />
</span><span style="color: #008080"> 8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">></span><span style="color: #000000">  <br />
</span><span style="color: #008080"> 9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">></span><span style="color: #000000">  <br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />   </span><span style="color: #008000">&lt;!--</span><span style="color: #008000"> 这里的struts就是在struts.xml配置Action的别名 </span><span style="color: #008000">--></span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />       </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">s:form </span><span style="color: #ff0000">action</span><span style="color: #0000ff">="struts"</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />           </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">s:textfield </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="hi"</span><span style="color: #ff0000"> label</span><span style="color: #0000ff">="Say"</span><span style="color: #0000ff">>&lt;/</span><span style="color: #800000">s:textfield</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />           </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">s:submit </span><span style="color: #ff0000">value</span><span style="color: #0000ff">="Go"</span><span style="color: #0000ff">>&lt;/</span><span style="color: #800000">s:submit</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />       </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">s:form</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">></span></div>
结果页(success.jsp):<br />
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><span style="color: #008080"> 1</span><img id="Codehighlighter1_2_65_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2_65_Open_Text.style.display='none'; Codehighlighter1_2_65_Closed_Image.style.display='inline'; Codehighlighter1_2_65_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_2_65_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2_65_Closed_Text.style.display='none'; Codehighlighter1_2_65_Open_Image.style.display='inline'; Codehighlighter1_2_65_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_2_65_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.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_2_65_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">  isELIgnored</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">false</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 />
</span><span style="color: #008080"> 2</span><span style="color: #000000"><img id="Codehighlighter1_71_110_Open_Image" onclick="this.style.display='none'; Codehighlighter1_71_110_Open_Text.style.display='none'; Codehighlighter1_71_110_Closed_Image.style.display='inline'; Codehighlighter1_71_110_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_71_110_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_71_110_Closed_Text.style.display='none'; Codehighlighter1_71_110_Open_Image.style.display='inline'; Codehighlighter1_71_110_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_71_110_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.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_71_110_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@ taglib prefix</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">s</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5"> uri</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">/struts-tags</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">  </span></span><span style="color: #000000; background-color: #ffff00">%></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;!</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 />
</span><span style="color: #008080"> 4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">></span><span style="color: #000000">      <br />
</span><span style="color: #008080"> 6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">></span><span style="color: #000000">success</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">></span><span style="color: #000000">  <br />
</span><span style="color: #008080"> 7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">></span><span style="color: #000000">  <br />
</span><span style="color: #008080"> 8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />      Hi </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">font </span><span style="color: #ff0000">color</span><span style="color: #0000ff">=red</span><span style="color: #0000ff">>&lt;</span><span style="color: #800000">s:property </span><span style="color: #ff0000">value</span><span style="color: #0000ff">="hi"</span><span style="color: #0000ff">/>&lt;/</span><span style="color: #800000">font</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />      </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">/></span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />      I like ${hi}<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">></span></div>
以下就是项目结构最终图:<br />
<img src="http://www.blogjava.net/images/blogjava_net/niuniu/37445/o_b.jpg" alt="" /><br />
再看最终所要呈现的结果:<br />
<img src="http://www.blogjava.net/images/blogjava_net/niuniu/37445/o_c.jpg" alt="" /><br />
<img src="http://www.blogjava.net/images/blogjava_net/niuniu/37445/o_d.jpg" alt="" /><br />
---------------------------------分割线----------------------------<br />
<strong>注</strong>:<br />
struts.xml必须放在src根目录下<br />
struts.xml必须全都是小写,并且文件名也必须是struts.xml.<br />
</font>
<img src ="http://www.blogjava.net/niuniu/aggbug/253326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/niuniu/" target="_blank">牛--牛</a> 2009-02-04 23:20 <a href="http://www.blogjava.net/niuniu/archive/2009/02/04/253326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>