ITEEDU

2.3 Struts的配置文件(config-struts)

其实看过上边的论述,大家应该明白其实struts框架的编写就需要彻底的弄懂两部分的内容:一种是,struts配置文件的编写;另一种是,struts表单的动作处理.
下表我们就先来讲述struts的配置文件的编写
即config-struts的配置:
注释:其实配置文件在struts框架中有两个:一个是web.xml(这个配置文件在所有的java web项目中都会有,而且在netBeans中自动生成web.xml配置),另一个是就是和struts框架相关配置文件必须有而且特有的文件config-struts
结合NetBeans工具来谈个人经验:
当在NetBeans中创建了一各struts项目时,会自动生成好多的config-struts内容(其实大多数都不用,用户可以根据增加的需要来自己配置,并保留基本的结构即可)
下边通过一个例子简单阐述一下子:

<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts  Configuration 1.2//EN"?
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
	<form-beans>
		<form-bean name="StuCourForm"
			type="org.apache.struts.action.DynaActionForm">
			<form-property name="Cno" type="java.lang.String"/>
		</form-bean>
	</form-beans>
	<action-mappings>
		<action input="/Show_Course.jsp"  name="StuCourForm" path="/student"  scope="request" type="action.StuCourForm">
			<forward name="StuCour_failure" path="/Show_Course.jsp"/>
			<forward name="StuCour_success" path="/Show_CS.jsp"/>
		</action>
	</action-mappings>
</struts-config>

其中的<struts-config>是根元素,其包括两个主要的属性:

2.3.1 <action-beans>描述系统中的ActionForm对象

(可以是静态的也可以是动态的)
如果是创建静态的<form-bean>时:
<form-bean>的格式
<form-bean name=” ”   type=” ”/>
其中name是表单的类名,type是表单的全路径和类名.
总之,<action-beans>说明了用户提交表单的信息的字段属性,当用户提具体信息之后,可以在formAction中生成具体的实例进行具体的处理。
在用静态的创建表单的时候,常常需要formTo传输对象,写起来比较麻烦(有兴趣读者请自学相关资料来深入了解formTo),所以我们一般使用的是上述的动态的创建表单.

2.3.2 <action-mapping>描述了转发路径

其中input 是用户所提交表单的jsp页面的在本地的文件名字;
name 指定该表单的类名;
path是指定该表单提交经过处理后,在浏览器页面所显示的文件名字此处注意两点:第一,该处没有后缀,且前边有/; 第二:该处的名字要与input所提交页面的表单的action的名字相同(但action处需要加后缀.do, 浏览器在解析时,会根据web.xml自动去掉后边的.do然后在config-struts中找对应的路径).
Type指定了表单类的完整路径和类名;
Scope指定了该请求所适用的范围;一般用request;
Forward指定了该请求页面要与那些页面进行打交道(即进行请求转发),其有两个属性:第一,name属性指定是action中的prompt所指代的哪个字符串,第二,path是根据第一个的name属性来跳转到哪个页面(有请求转发和重定向;要注意该处的path是本地的jsp带后缀的文件名字).