strutscx允许我们以不同的语言与编码方式保存.输出内容,用strutscx可以方便地处理中文.英文.德文.法文.西班牙文以及朝鲜文.阿拉伯文.俄文等各种语言文字.
struts鼓励按照model 2方式构建应用的体系.model 2是mvc基本设计模式的一种变体.mvc设计模式的优点是,它使得model.view与controller各个部分之间相对独立.struts在一个中心位置装配actionservlet.actionmapping与各种action类,处理所有传入的httpservletrequest.actionservlet把各个传入的httpservletrequest分发给action类,而actionmapping对象可通过struts-config.xml配置文件控制,它告诉actionservlet如何分发请求. 【程序编程相关:Java变量的缺省(默认)值--只有类的】
一.简单回顾struts 【推荐阅读:Tutorial for buildin】
图一:struts各个部分之间的通信过程 【扩展信息:Celebrating 10 years】
图一阐述了controller的功能:在客户端.view与model之间起协调.仲裁的作用.只有controller才会与model与view联系,在这中间它就象是一个交换机,而model与view之间不会直接通信,这样,model.view与controller就被分隔开来.这是成功运用struts的关键所在.
说明一下:所有controller的逻辑应当放入action类,与应用的其他层的通信可以在这里进行.虽然我们可以把业务逻辑也放入controller,但一般而言最好不要这么做.应当改用model部分的组件,因为这些组件才是真正处理数据的地方.把数据保存到数据库也应当是model的功能之一.
当controller处理好一个httpservletrequest,它把请求转发给view.view的唯一任务是表现数据,在struts中,view一般使用jsp技术.
在struts中,controller与view之间的所有通信都通过httpservletrequest.httpsession与servletcontext间接完成,对于这些操作来说,首选的技术莫过于servlet,struts直接把httpservletrequest传递给servlet——或者是jsp,不过servlet容器会自动把jsp转换成servlet.
二.struts与jsp的局限
作为一个开放的框架,struts允许使用jsp之外的技术构造view.在考虑改进struts应用中的view技术时,人们首先想到的往往是用其他servlet技术替代jsp,例如用xslt或在servlet管理之下的xslt.
图二描述了在struts框架中应用jsp的情况.view由jsp定制标记库与jsp页面共同构造,其中actionform类是一种类似javabean的valueobject对象,带有set与get方法,用来保存客户的状态.... 下一页