﻿<?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-哈佛校训-随笔分类-Struts2</title><link>http://www.blogjava.net/nokiaguy/category/30832.html</link><description>此刻打盹，你将做梦；而此刻学习，你将圆梦。  </description><language>zh-cn</language><lastBuildDate>Tue, 06 Sep 2011 12:51:05 GMT</lastBuildDate><pubDate>Tue, 06 Sep 2011 12:51:05 GMT</pubDate><ttl>60</ttl><item><title>《Java Web开发速学宝典》样章（共3章）</title><link>http://www.blogjava.net/nokiaguy/archive/2009/12/14/305890.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Mon, 14 Dec 2009 06:33:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/12/14/305890.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/305890.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/12/14/305890.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/305890.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/305890.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 第4章 Servlet开发基础、第8章 Java Web国际化、第10章 简单标签&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/12/14/305890.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/305890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-12-14 14:33 <a href="http://www.blogjava.net/nokiaguy/archive/2009/12/14/305890.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts 2杂谈（2）：如何向标签文件中的Struts 2标签传递参数值</title><link>http://www.blogjava.net/nokiaguy/archive/2009/02/26/256886.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Thu, 26 Feb 2009 11:51:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/02/26/256886.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/256886.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/02/26/256886.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/256886.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/256886.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在JSP标签文件中使用Struts 2标签会带来一个问题。由于高版本的Struts 2的标签属性值默认情况下不能为EL或JSP表达式，当然，可以通过修改Struts 2默认设置来解决这个问题，但并不建议这么做。除此之外，可以通过<s:set>标签将参数值保存在ValueStack对象中，在JSP标签文件中通过Ognl表达式读取。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/02/26/256886.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/256886.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-02-26 19:51 <a href="http://www.blogjava.net/nokiaguy/archive/2009/02/26/256886.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts 2杂谈（1）：ValueStack对象的传送带机制</title><link>http://www.blogjava.net/nokiaguy/archive/2009/02/11/254314.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Wed, 11 Feb 2009 14:22:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/02/11/254314.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/254314.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/02/11/254314.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/254314.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/254314.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 众所周知，Strut 2的Action类通过属性可以获得所有相关的值，如请求参数、Action配置参数、向其他Action传递属性值（通过chain结果）等等。要获得这些参数值，我们要做的唯一一件事就是在Action类中声明与参数同名的属性，在Struts 2调用Action类的Action方法（默认是execute方法）之前，就会为相应的Action属性赋值。这一切主要是依靠ValueStack对象实现的。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/02/11/254314.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/254314.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-02-11 22:22 <a href="http://www.blogjava.net/nokiaguy/archive/2009/02/11/254314.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2.1.6测试小记</title><link>http://www.blogjava.net/nokiaguy/archive/2009/02/06/253535.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Fri, 06 Feb 2009 04:55:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2009/02/06/253535.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/253535.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2009/02/06/253535.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/253535.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/253535.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 经笔者测试，Struts2.1.6并不与Struts2.0.14完全兼容，如在struts2.1.6中还需要一个commons-fileupload-1.2.1.jar文件才能正常使用，而在struts2.0.14中并不需要这个文件。Struts2.1.6至少需要6个jar文件才能正常工作，这6个jar文件是：struts2-core-2.1.6.jar、freemarker-2.3.13.jar、commons-logging-1.0.4.jar、ognl-2.6.11.jar、xwork-2.1.2.jar、commons-fileupload-1.2.1.jar。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2009/02/06/253535.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/253535.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2009-02-06 12:55 <a href="http://www.blogjava.net/nokiaguy/archive/2009/02/06/253535.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2教程10：国际化</title><link>http://www.blogjava.net/nokiaguy/archive/2008/05/20/201675.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Tue, 20 May 2008 08:06:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2008/05/20/201675.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/201675.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2008/05/20/201675.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/201675.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/201675.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 国际化的作用就是根据不同国家的用户在访问Web或其他类型的程序时，将各种信息以本地的常用形式显示出来，如界面信息在中国，就会显示中文信息，在以英文为主的国家里，就会显示英文信息。还有就是一些信息的格式，如日期格式等。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2008/05/20/201675.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/201675.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2008-05-20 16:06 <a href="http://www.blogjava.net/nokiaguy/archive/2008/05/20/201675.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2教程9：实现自已的拦截器</title><link>http://www.blogjava.net/nokiaguy/archive/2008/05/09/199587.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Fri, 09 May 2008 12:14:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2008/05/09/199587.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/199587.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2008/05/09/199587.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/199587.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/199587.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在上一篇中介绍了Struts2拦截器的原理，在这一篇中我们将学习一下如何编写自己的拦截器。实现一个拦截器非常简单。实际上，一个拦截器就是一个普通的类，只是这个类必须实现com.opensymphony.xwork2.interceptor.Interceptor接口。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2008/05/09/199587.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/199587.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2008-05-09 20:14 <a href="http://www.blogjava.net/nokiaguy/archive/2008/05/09/199587.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2教程8：拦截器概述</title><link>http://www.blogjava.net/nokiaguy/archive/2008/05/04/198071.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Sun, 04 May 2008 06:42:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2008/05/04/198071.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/198071.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2008/05/04/198071.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/198071.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/198071.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Struts2的拦截器和Servlet过滤器类似。在执行Action的execute方法之前，Struts2会首先执行在struts.xml中引用的拦截器，在执行完所有引用的拦截器的intercept方法后，会执行Action的execute方法。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2008/05/04/198071.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/198071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2008-05-04 14:42 <a href="http://www.blogjava.net/nokiaguy/archive/2008/05/04/198071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2教程7：上传任意多个文件</title><link>http://www.blogjava.net/nokiaguy/archive/2008/04/27/196646.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Sun, 27 Apr 2008 13:47:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2008/04/27/196646.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/196646.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2008/04/27/196646.html#Feedback</comments><slash:comments>37</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/196646.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/196646.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 上传文件是很多Web程序都具有的功能。在Struts1.x中已经提供了用于上传文件的组件。而在Struts2中提供了一个更为容易操作的上传文件组件。所不同的是，Struts1.x的上传组件需要一个ActionForm来传递文件，而Struts2的上传组件是一个拦截器（这个拦截器不用配置，是自动装载的）。在本文中先介绍一下如何用struts2上传单个文件，最后介绍一下用struts2上传任意多个文件。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2008/04/27/196646.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/196646.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2008-04-27 21:47 <a href="http://www.blogjava.net/nokiaguy/archive/2008/04/27/196646.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2教程6：在Action类中获得HttpServletResponse对象的四种方法</title><link>http://www.blogjava.net/nokiaguy/archive/2008/04/22/194846.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Tue, 22 Apr 2008 10:06:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2008/04/22/194846.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/194846.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2008/04/22/194846.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/194846.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/194846.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  在struts1.x Action类的execute方法中，有四个参数，其中两个就是response和request。而在Struts2中，并没有任何参数，因此，就不能简单地从execute方法获得HttpServletResponse或HttpServletRequest对象了。但在Struts2 Action类中仍然有很多方法可以获得这些对象。本文给出了四种获得这些对象的方法。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2008/04/22/194846.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/194846.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2008-04-22 18:06 <a href="http://www.blogjava.net/nokiaguy/archive/2008/04/22/194846.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2教程5：使用Validation框架验证数据</title><link>http://www.blogjava.net/nokiaguy/archive/2008/04/21/194599.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Mon, 21 Apr 2008 12:06:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2008/04/21/194599.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/194599.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2008/04/21/194599.html#Feedback</comments><slash:comments>24</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/194599.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/194599.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文介绍了如何使用Struts2的Validation验证框架进行服务端、客户端验证，以及如何进行嵌套属性的验证。在Struts2中的Validation框架和Struts1.x提供的Validation框架类似，也是通过XML文件进行配置。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2008/04/21/194599.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/194599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2008-04-21 20:06 <a href="http://www.blogjava.net/nokiaguy/archive/2008/04/21/194599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2教程4：使用validate方法验证数据</title><link>http://www.blogjava.net/nokiaguy/archive/2008/04/17/193776.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Thu, 17 Apr 2008 07:17:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2008/04/17/193776.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/193776.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2008/04/17/193776.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/193776.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/193776.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在Struts2中最简单的验证数据的方法是使用validate。我们从ActionSupport类的源代码中可以看到，ActionSupport类实现了一个Validateable接口。这个接口只有一个validate方法。如果Action类实现了这个接口，Struts2在调用execute方法之前首先会调用这个方法，我们可以在validate方法中验证，如果发生错误，可以根据错误的level选择字段级错误，还是动作级错误。并且可使用addFieldError或addActionError加入相应的错误信息，如果存在Action或Field错误，Struts2会返回“input”（这个并不用开发人员写，由Struts2自动返回），如果返回了“input”，Struts2就不会再调用execute方法了。如果不存在错误信息，Struts2在最后会调用execute方法。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2008/04/17/193776.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/193776.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2008-04-17 15:17 <a href="http://www.blogjava.net/nokiaguy/archive/2008/04/17/193776.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2教程3：struts.xml常用配置解析</title><link>http://www.blogjava.net/nokiaguy/archive/2008/04/16/193457.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Wed, 16 Apr 2008 07:25:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2008/04/16/193457.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/193457.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2008/04/16/193457.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/193457.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/193457.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在Struts2中提供了一个默认的struts.xml文件，但如果package、action、interceptors等配置比较多时，都放到一个struts.xml文件不太容易维护。因此，就需要将struts.xml文件分成多个配置文件，然后在struts.xml文件中使用<include>标签引用这些配置文件。&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2008/04/16/193457.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/193457.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2008-04-16 15:25 <a href="http://www.blogjava.net/nokiaguy/archive/2008/04/16/193457.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2教程2：处理一个form多个submit</title><link>http://www.blogjava.net/nokiaguy/archive/2008/04/16/193287.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Wed, 16 Apr 2008 01:18:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2008/04/16/193287.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/193287.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2008/04/16/193287.html#Feedback</comments><slash:comments>29</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/193287.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/193287.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在Struts2中提供了一种方法，使得无需要配置可以在同一个action类中执行不同的方法（默认执行的是execute方法）。使用这种方式也需要通过请求参来来指定要执行的动作。请求参数名的格式为action!method.action<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2008/04/16/193287.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/193287.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2008-04-16 09:18 <a href="http://www.blogjava.net/nokiaguy/archive/2008/04/16/193287.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2教程1：第一个Struts2程序</title><link>http://www.blogjava.net/nokiaguy/archive/2008/04/15/193229.html</link><dc:creator>银河使者</dc:creator><author>银河使者</author><pubDate>Tue, 15 Apr 2008 14:41:00 GMT</pubDate><guid>http://www.blogjava.net/nokiaguy/archive/2008/04/15/193229.html</guid><wfw:comment>http://www.blogjava.net/nokiaguy/comments/193229.html</wfw:comment><comments>http://www.blogjava.net/nokiaguy/archive/2008/04/15/193229.html#Feedback</comments><slash:comments>50</slash:comments><wfw:commentRss>http://www.blogjava.net/nokiaguy/comments/commentRss/193229.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nokiaguy/services/trackbacks/193229.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Struts2虽然在大版本号上是第二个版本，但基本上在配置和使用上已经完全颠覆了Struts1.x的方式（当然，Struts2仍然是基于MVC模式的，也是动作驱动的，可能这是唯一没变的东西）。Struts2实际上是在Webwork基础上构建起来的MVC框架。我们从Struts2的源代码中可以看到，有很多都是直接使用的xwork(Webwork的核心技术)的包。既然从技术上来说Struts2是全新的框架，那么就让我们来学习一下这个新的框架的使用方法。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/nokiaguy/archive/2008/04/15/193229.html'>阅读全文</a><img src ="http://www.blogjava.net/nokiaguy/aggbug/193229.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nokiaguy/" target="_blank">银河使者</a> 2008-04-15 22:41 <a href="http://www.blogjava.net/nokiaguy/archive/2008/04/15/193229.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>