从左到右,分别是V,C,M。表示层主要由JSP和标签库组成。所有通过struts1框架的请求都经过ActionServlet接受(这个类struts1框架已经给我封装好了),根据接收的请求参数和Struts配置(struts-config.xml)中ActionMapping,将请求送给合适的Action去处理,解决由谁做的问题,它们共同构成Struts的控制器。Action则是Struts应用中真正干活的组件,开发人员一般都要在这里耗费大量的时间,它解决的是做什么的问题,它通过调用需要的业务组件(模型)来完成应用的业务,业务组件解决的是如何做的问题,并将执行的结果返回一个代表所需的描绘响应的JSP(或Action)的ActionForward对象给ActionServlet以将响应呈现给客户。
所有的path=都要以“/”开头
<struts-config>
<!-- 配置表单 -->
<form-beans>
<!-- name是表单名字,可以随意写,但是建议取名规范:表单类名小写 -->
<!-- type用于指定表单类的全路径 -->
<form-bean name="userForm" type="com.gavin.forms.UserForm"></form-bean>
</form-beans>
global-forwards全局跳转
用于定于在整个应用程序内的全局转发
<!-- 配置Action -->
<action-mappings>
<!-- 配置一个具体的action -->
<!-- path表示将来访问该action的资源名,http://localhost:8080/web/path -->
<!-- name用于关联某个表单 -->
<!-- type用于指定该Action类的全路径 -->
scope(范围)即JSP 中变量或对象的作用域,有四个取值:page、request、session、application,这四个取值范围是从小到大排列的。
parameter:
本module内有效的定义,可用于参数传递;
<action path="/login" name="userForm" type="com.gavin.actions.LoginAction">
<!-- 这里配置跳转关系 -->
<!-- name表示结果名称,path表示转发到的页面地址 -->
<forward name="ok" path="/WEB-INF/welcome.jsp"/>
<forward name="error" path="/WEB-INF/error.jsp"/>
</action>
</action-mappings>
</struts-config>
<set-property/>就是设置属性的值
<!-- 配置资源文件 --> <message-resources parameter="MessageResource"></message-resources>
Key是消息资源的模块名,parameter是消息资源的名称