struts工程建立配置细节

ActionForm

ActionForm是用于存放表单提交的数据。

1.一个action是否必须配置一个actionForm,可以没有
2.一个action是否可以配置多个表单?不可以,最多一个

在jsp页面表单提交后调用某个action(此action又与一个ActionForm相关联),表单中的数据就会放在ActionForm中。

public class UserForm extends ActionForm 
定义属性(这里有一个规范,我们定义属性名字的时候,应该和jsp页面控件的名称一样)
表单的属性名字是否和控件名是否一致?
不一定,只要保证set和get方法与属性名存在关联:setXxxx getXxxx Xxxx表示jsp控件的名称,首字母要大写

还有要注意action的路径(/web应用名/action path.do)

<form action="/Strutslogin/login.do" method="post">

struts-config.xml文件的配置:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE RootElement PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "struts-config_1_3.dtd">
 3 <struts-config>
 4 <!--配置表单  -->
 5 <form-beans>
 6 <!--name是表单的名字,可以随意定义,建议取名规范表单类名小写  -->
 7 <!-- type用于指定表单类的全路径 -->
 8 <form-bean name="UserForm" type="com.xidian.forms.UserForm"></form-bean>
 9 </form-beans>
10 <!-- 配置action -->
11 <action-mappings>
12 <!-- 配置具体的一个action path:表示将来访问该action的资源名,http://localhost:8080/web应用/path? -->
13 <!-- name:用于关联某个表单 -->
14 <!-- type用于指定action类的全路径 -->
15 <!--scope="request" 表示action对应的表单对象的生命周期是request级别的   总控制器相当于request.setAttribute("UserForm",UserForm);-->
16 <!--scope="session" 表示action对应的表单对象的生命周期是session级别的   总控制器相当于request.getSession().setAttribute("UserForm",UserForm);-->
17 <!-- 默认为session状态 -->
18 <action path="/login" name="UserForm"  scope="request" type="com.xidian.action.LoginAction">
19 <!-- 这里配置跳转关系 -->
20 <!-- name表示结果名称    path:转发到哪个页面 -->
21 <forward name="ok" path="/wel.jsp"></forward>
22 <forward name="err" path="/err.jsp"></forward>
23 </action>
24 </action-mappings>
25 </struts-config>
原文地址:https://www.cnblogs.com/xiangkejin/p/5802387.html