struts 框架实现的功能属于mvc模式中的controller(控制层),以1.x版本为例,其包含了五大重要组件即Action、ActionServlet、ActionMapping、ActionForward、ActionForm,而这都是一些类,下面就这个版本的配置过程做一个小节。
首先要新建一个Dynamic Web Project 并导入相关的jar 包如何
并且也要引入 关于struts的配置文件,struts-config.xml文件。在这个文件中就是关于action、form-bean以及global-forward、forward的配置
接下来,就是写相关的formBean及Action,其中Action相当于servlet其实也就是对servlet的封装,而要写一个Action就是要写一个类让它继承Action这个类就是处理表单数据、完成页面跳转的,当然在继承的同时也要重写Action类的execute方法,具体的实现方法如下:
public class MyAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
//这里处理数据及调用业务逻辑等
return mapping.findForward("forword");//页面跳转
}
}
Action 写完后我们还要写一个formBean,这里就是对表单信息的封装,它要继承自ActionForm类,里面的数据成员要和页面中的表单name字段属性值一样同时要生成setter和getter方法具体的类信息如下
public class FormBean extends ActionForm {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
类写完后就要对这个两个类进行配置了。
在对这两个类进行配置前,我们还要对struts中大的控制器进行配置,因为这个大的控制器就是struts的入口,有点像过虑器。这个大的控制器就是ActionServlet,而我们上面所说的Action就是小的控制是处理具体业务逻辑的,ActionServlet的配置如下:
这个是在web.xml中配置的
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
其实本质上ActionServlet就是一个servlet。在这里需要注意的是param-name的值必须是config,还有就是*.do代表以.do接尾的路径都要调用这个大控制器。
以上步骤完成后就要在struts-config.xml中 对Action和formBean进行配置了。具体的配置如下:
<struts-config>
<form-beans>
<form-bean name="formbean" type="com.ev.bean.FormBean" />
</form-beans>
<action-mappings>
<action path="/login" type="com.ev.action.MyAction" name="formbean" >
<forward path="/home.jsp" name="forword"></forward>
</action>
</action-mappings>
</struts-config>
其中的type属性是引用的类名称,action中的path表示调用该action时所用到的路径,name属性是对它所关联的formBean的引用;forward的 path是要跳转的页面地址;form-bean就对ActionForm进行配置其中的name属性是当和某个Action关联时要用到。
最后就是要在页面中调用了。调用如下
<form action="/teststruts1.3.10/login.do" method="post">
用户名:<input type="text" name="username" value=""/><br/>
密码: <input type="password" name="password" value=""/>
<input type="submit" value="提交" />
</form>
以上就是大概的配置步骤。