在实现一个个Action的时候,总是陷入困惑.因为实现ActionSupport接口的类总是非单例的,这就意味着每处理一个action请求,webwork就会生成一个该类的实例,虽然垃圾回收器的进步使性能的影响进一步减少,但如果过多的业务逻辑写到Action类里还是有可能产生大对象(这样描述可能不够确切),因为业务逻辑还是写到单例中去比较好.
这样我们就需要在Action类里引入一个(或说聚合一个)单例的操作类进来,从而,把具体的业务逻辑转移到这个单例的类里面去.但直接与视图(界面)打交道的是Action类,为了打造友好的用户界面,你将不得不在Action里写一些提示信息如,
this.addActionError("您的帐号余额不足");
this.addActionError("请先登陆");
这些信息中有相当一部分是业务逻辑中提示出来的,如果我们把业务逻辑转移到我们新引入的操作类中,则需要这个操作类把业务逻辑中的提示信息返回给Action类,再由Action类通过ActionError返回给视图层.这样就需要制定一种约定来规范操作类和Action类之间的消息传递,并且在项目中都遵循这种规范.不知道大家在实际开发中是怎么来处理的,大家可以讨论一下.
此外,把提示信息直接写在java的代码里也是很有弊病的,假如提示信息需要改变,就得修改class,再编译,再部署......在下真诚地希望大家说说自己的做法.
分享到:
相关推荐
1. **页面跳转与URL参数传递**: - 当我们在网页上进行操作,如从A页面跳转到B页面,有时需要携带一些信息。这些信息可以通过URL参数传递。例如,A页面的链接可能是`...
相信很多人也和我一样对于这点感到非常困惑。我看了很多篇博客和书面资料。今天我们就聊聊事件的分发机制。 一、点击事件的传递规则 1、什么是点击事件(MotionEvent) 在了解点击事件的传递规则之前,我们首先要弄...
8. **忽视品牌形象**:广告未能有效地塑造和维护品牌形象,或者品牌形象与产品特性不一致,使消费者困惑。 9. **营销策略错误**:如价格策略、促销策略等不恰当,可能削弱广告的效力,甚至产生负面影响。 10. **...
3. **ognl.jar**:OGNL(Object-Graph Navigation Language)是用于获取和设置对象属性的表达式语言,Struts2中Action与视图间的数据传递主要依赖于OGNL。 4. **freemarker.jar**:FreeMarker是一个模板引擎,用于...
2. **简洁明了**:内容要简洁,信息传递要直接,避免过于复杂的设计导致用户困惑。通常,Banner上的文字不超过5-7个单词,确保一目了然。 3. **品牌一致性**:Banner设计需与品牌形象和网站整体风格保持一致,包括...
在Ruby on Rails开发过程中,开发者可能会遇到各种各样的“灵异”错误,这些错误往往令人困惑,有时甚至让人感到无从下手。Rails框架虽然强大且灵活,但其复杂性也意味着可能出现各种意料之外的问题。以下是一些常见...
3. **注意力引导行动(Attention leads to action)**:成功的演示文稿能够激发听众采取行动,无论是采纳你的建议,还是进一步讨论主题。 检查一下你自己的演讲准备:你是否对主题充满热情?你的结构是否清晰?内容...
初学者在接触这个框架时可能会感到困惑,因为它的概念和结构与传统的ASP.NET Web Forms有所不同。本文将深入探讨ASP.NET MVC的基本原理和关键组件,帮助初学者快速理解和上手。 **1. MVC模式** MVC(Model-View-...
初学者可能会对设计模式感到困惑,但通过实例学习可以帮助更好地理解这些概念。 首先,让我们简要了解一下单例模式。单例模式是一种确保一个类只有一个实例并提供全局访问点的设计模式。在PHP中,通过限制类的构造...
4. 编写行动或信息强化的标题(action captions),确保它们既具有信息性又积极向上。 5. 多次审查,检查图形是否清晰地传达了原始信息。 6. 根据反馈进行修改和优化,可能需要多次迭代。 7. 最后一次审查,确保图形...
- **action**(作用): 在物理学中,作用力与反作用力是牛顿第三定律的核心概念。 - **adhere**(粘附): 材料科学中,不同材料之间的粘附性(adhesion)决定了它们能否紧密结合在一起。 - **adjacent**(毗邻的): ...
4. 回调函数:在JavaScript中,我们可以定义回调函数来处理AJAX请求的成功或失败,更新UI状态,如显示成功消息或错误提示。 5. RESTful API:服务器端通常会提供RESTful接口,如`/cart/update`,接收来自客户端的...
Flummox,顾名思义,起初可能让人感到困惑,但它实际上提供了一种灵活而简洁的方式来管理React组件的状态。这个"flummox-demo"项目,作为Flummox的实践教学,帮助开发者理解如何在实际项目中有效地运用Flummox。项目...
2.1、自定义路由一:匹配到action ................................................................................................................. 11 2.2、自定义路由二 ....................................