ofbiz MVC框架.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ofbiz MVC框架

/persister/archive/2010/08/27/253196.htmlOFBiz的MVC框架OFBiz是一个非常强大的企业架构体系,这里只描述它MVC方面的内容,从MVC的角度去看,OFBiz采用的是/blueprints/corej2eepatterns/Patterns/ServiceToWorker.htmlService to Worker模式,大名鼎鼎的/Struts 1采用的也是这种架构。Service to Worker模式的目标就是维护Action,View和Controller之间的分离。ControllerControlServlet是/blueprints/corej2eepatterns/Patterns/FrontController.htmlFront Controller, 接收所有的请求,是请求的入口,执行一些的预备处理后,交由RequestHandler去处理实际的请求工作,View层的处理交给 ViewHandler进行处理,ViewHandler有很多实现类,还可以自定义,可以集成很多页面层显示技术,如JSP和FreeMarker等, 处理流程如下图所示:MVC的解耦的地方就是通过controller.xml配置文件实现的,配置文件如下所示:request-map?uri=login?security?https=false?auth=false/?event?type=java?path=com.xxx.ldap.LdapLoginWorker?invoke=login/?response?name=success?type=view?value=main/?response?name=error?type=view?value=login//request-mapview-map?name=main?type=screen?page=component://xxx/widget/CustomerScreens.xml#main/view-map?name=login?type=screen?page=component://xxx/widget/CommonScreens.xml#login/request-map的response元素有一个属性name,这个name理论上可以任意选取,不过OFBiz内置了success和 error这两个值,这类似于Struts 2。属性type如果是view表示得到一个页面,value值对于view-map中的name属性值。之所以不直接写上页面,而是增加view- map,一是为了解耦,二是针对不同的view,可以设置不同的type等属性。type属性很关键,正是这个属性帮助OFBiz集成不同的显示层技术。 common-controller定义了不同的type和其对应的ViewHandler:?!--?view?handlers?--?handler?name=screen?type=view?class=org.ofbiz.widget.screen.ScreenWidgetViewHandler/?handler?name=screenfop?type=view?class=org.ofbiz.widget.screen.ScreenFopViewHandler/?handler?name=screenxml?type=view?class=org.ofbiz.widget.screen.ScreenXmlViewHandler/?handler?name=screentext?type=view?class=org.ofbiz.widget.screen.ScreenTextViewHandler/?handler?name=jsp?type=view?class=org.ofbiz.webapp.view.JspViewHandler/?handler?name=ftl?type=view?class=org.ofbiz.webapp.ftl.FreeMarkerViewHandler/??handler?name=http?type=view?class=org.ofbiz.webapp.view.HttpViewHandler/这里的name就对应view map中的type。实现解耦的类不是Front Controller而是RequestHandler,请求代理类,在这里负责读取controller.xml文件中的对应关系,根据Front Controller发送过来的请求,选择相应的业务动作进行业务更新,并且选择相应的视图View去解析并展示。在Service to Worker模式中,RequestHandler

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档