</html:select>
</td>
</tr>
……
</table>
</html:form>
</body>
</html>
程序中首先引入了
HTML、Bean和Logic标记库,然后用action指出调用的Action组件的绝对路径,标记<html:form>和</html:form>封装了表单数据,在业务层中用相应的ActionForm组件可以将输入的数据全部得到。
可以看出在视图中没有进行任何的业务逻辑的处理,其主要作用是给出客户端显示的信息和处理结果,以及请求的转发,它是和用户交互的接口。
2、构建模型
模型采用
JavaBean和EJB组件,
设计和实现
系统的业务逻辑。根据不同的请求从Action派生具体Action处理对象,完成“做什么”的任务来调用由Bean构成的业务组件,创建由ActionForm的派生类实现对客户端表单数据的封装。
下面以BudgetInfoAddForm这个ActionFormBean进行说明:
……
publicfinalclassBudgetInfoAddFormextendsActionForm{
privateStringinfoType;
privateStringtitle;
privateStringcontent;
privateFormFileinfoFile;
这里表示BudgetInfoAddForm继承于ActionForm,在这个Bean中定义了视图中所要显示数据信息的参数,包括infoType,资料分类;title,资料标题;content,资料内容;infoFile,资料文件。同时在BudgetInfoAddForm中提供了设定和访问这些参数的方法:
publicStringgetInfoType()
publicvoidsetInfoType(StringinfoType)
publicStringgetTitle()
publicvoidsetTitle(Stringtitle)
publicStringgetContent()
publicvoidsetContent(Stringcontent)
publicFormFilegetInfoFile()
publicvoidsetInfoFile(FormFileinfoFile)
publicvoidreset(ActionMappingmapping,HttpServletRequestrequest){
title=null;
content=null;
infoFile=null;
}
3、构建控制器
在Struts应用框架中,中心控制器(ActionServlet)是由Struts框架本身所提供,开发人员一般无须对该ActionServlet进行再次开发;负责具体业务处理的Action类则是开发者开发实现的重点,在这些Action对象中会进行所有的业务操作,处理完毕,由Struts的ActionServlet转向到jsp页面,将处理结果返回给客户端。
在预算资料模块中,实现了四个Action:BudgetInfoAddAction,用于资料录入;BudgetInfoContentAction,用于资料
查询;BudgetInfoUpdateAction,用于资料修改;BudgetInfoDelAction,用于资料删除。
4、建立配置文件
Struts框架中有两个配置文件
web.
xml和struts-config.xml,用于配置Struts系统中的各个模块之间的交互。通过对这两个配置文件的配置,把Struts框架中MVC的各个部分联系起来,实现了一个真正的MVC系统。