/**
作者:TedHusted
译者:Rifoo Technology(http://www.rifoo.com)
时间:2005-11-08
备注:转载请保留以上声明
**/
译者注:所谓LinkOnlyToActions的含义是指所有的连接都指针对Action的。
在一个Model 2的环境中,页面应该是漂亮的,但是却是愚蠢的。连接到一个页面应该首先到一个Action,然后这个Action会收集页面可能需要的所有参数,将它们放入request或session上下文中。页面只是去获取它所要的那些参数,决定怎么显示它们就行了。这个Action可能不知道页面的地址,因为我们在config文件中定义它的地址。每个页面应该有这个Action handler(处理器)。一个Action可能处理多个不同的页面,或者一个页面被多个不同的Action所处理(比如一个error页面),但是每个页面至少有一个handler。
译者强调:如果一个应用程序是被分为不同的模块(modules),并且在一个子模块中连接到JSP时用到了<html:form>标签,那么Struts会抛出一个异常:Cannot retrieve mapping for Action /action。其原因是<html:form>标签首先会在request中寻找ModuleConfig,如果找不到,会从ServletContext中去找。因此,标签并不知道是从子模块进入的,就会使用默认的ModuleConfig,所以导致异常发生。 Link only to Actions s成功的解决了这个异常问题,因此在struts框架中被推荐使用。