(2)Action名字是“login”,对应的Class就是“pla.LoginAction”,当用户在浏览器输入http://127.0.0.1/8080/...login.action请求时,Struts 2将调用pla.LoginAction进行业务处理。处理后,返回result值。LoginAction内容如代码1.6所示。
代码1.6 业务控制器LoginAction

























































(3)在Action中,判断getUsername()是否为“test”,如果是,则返回字符串"success",而struts.xml配置文件中定义了对应的视图资源:
<!——配置Action的返回值success视图-->
<result name="success">/welcome.jsp</result>
可以看到,配置文件定义了result,name元素为success,对应视图资源为/welcome.jsp,那么当用户请求参数Username为“test”时,Struts 2会将/welcome.jsp页面展示给用户。
(4)如果系统中还有一个处理Login业务的Action,内容如代码1.7所示。
代码1.7 业务控制器LoginAction01































































(5)当用户业务逻辑发生变化时,需要调用LoginAction01来实现,那么通过修改配置文件,可以非常方便、快捷地进行调整,只需要修改Action中的class属性即可:
<action name="login" class="pla.LoginAction01">
★ 提示 ★
通过配置文件来调换Action等模块,类似于灵活的“热插拔”技术。
2.属性资源文件
另一类配置文件是属性资源文件,例如struts.properties文件。资源文件中一般采用固定的Key-Value格式,用于定义Struts 2全局或者局部的资源数据,例如国际化、Struts 2开发模式等信息。Struts.properties文件示例见代码1.8。
代码1.8 struts.properties文件示例
#设置字符集
struts.i18n.encoding=UTF-8
#该属性指定Http的请求后缀
struts.action.extension=do,action
#该属性设置当struts.xml文件改变后,系统是否自动重新加载该文件
struts.configuration.xml.reload=false
#指定当前应用默认的国际化地区信息
struts.locale=en_us
★ 注意 ★
有过Struts 1.X开发经验的读者会发现,Struts 2框架的Action只是一个普通的Java类(POJO),这是同Struts 1.X的重要区别之一。
文章地址: http://blog.youkuaiyun.com/ivorytower/archive/2008/04/23/2318898.aspx