正在加载图片...
if (null = book)I ActionErrors errors = new ActionErrorso errors. add(ActionErrors GLOBAL ERROR, new ActionError("message. notfound")) save Errors (request, errors) return mapping. findForward( failure ") request setAttribute("book", book) return mapping. findForward( success") 在清单4中,您可以了解到如何创建 Struts动作。在(1)处,创建了一个 JavaBean 属性。 DelegatingRequestProcessor自动地配置这种属性。这种设计使 Struts动作并不 知道它正被 Spring管理,并且使您能够利用 Sping的动作管理框架的所有优点。由于您 的 Struts动作注意不到 Spring的存在,所以您不需要重写您的 Struts代码就可以使 用其他控制反转容器来替换掉 Spring DelegatingRequestProcessor方法的确比第一种方法好,但是仍然存在一些问题。如果 您使用一个不同的 RequestProcessor,则需要手动整合 Spring的 DelegatingRequestProcessor。添加的代码会造成维护的麻烦并且将来会降低您的应用程 序的灵活性。此外,还有过一些使用一系列命令来代替 Struts requestProcessor的传闻 这种改变将会对这种解决方法的使用寿命造成负面的影响。 窍门3.将动作管理委托给 Spring 一个更好的解决方法是将 Strut动作管理委托给 Spring。您可以通过在 struts- config动作映射中注册一个代理来实现。代理负责在 Spring环境中查找 Struts 动作。由于动作在 Spring的控制之下,所以它可以填充动作的 JavaBean属性,并为应if (null == book) { ActionErrors errors = new ActionErrors(); errors.add(ActionErrors.GLOBAL_ERROR,new ActionError("message.notfound")); saveErrors(request, errors); return mapping.findForward("failure") ; } request.setAttribute("book", book); return mapping.findForward("success"); } } 在清单 4 中,您可以了解到如何创建 Struts 动作。在 (1) 处,创建了一个 JavaBean 属性。DelegatingRequestProcessor 自动地配置这种属性。这种设计使 Struts 动作并不 知道它正被 Spring 管理,并且使您能够利用 Sping 的动作管理框架的所有优点。由于您 的 Struts 动作注意不到 Spring 的存在,所以您不需要重写您的 Struts 代码就可以使 用其他控制反转容器来替换掉 Spring。 DelegatingRequestProcessor 方法的确比第一种方法好,但是仍然存在一些问题。如果 您使用一个不同的 RequestProcessor,则需要手动整合 Spring 的 DelegatingRequestProcessor。添加的代码会造成维护的麻烦并且将来会降低您的应用程 序的灵活性。此外,还有过一些使用一系列命令来代替 Struts RequestProcessor 的传闻。 这种改变将会对这种解决方法的使用寿命造成负面的影响。 窍门 3. 将动作管理委托给 Spring 一个更好的解决方法是将 Strut 动作管理委托给 Spring。您可以通过在 struts-config 动作映射中注册一个代理来实现。代理负责在 Spring 环境中查找 Struts 动作。由于动作在 Spring 的控制之下,所以它可以填充动作的 JavaBean 属性,并为应
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有