`

对于action包含多事件的讨论

阅读更多
考虑了这样用户信息更新的一个action,着action负责接受用户返回的个人信息数据,把个人信息数据赋值给User实体类并把交给dao层(中间也可以再隔一个service层,只是目前业务逻辑就那么简单)。dao层有会对个人信息数据是否有被赋值进行判断。如果有的,进行更新操作,如果没有被赋值的,该字段就不用更新。

    这样一条线。这个action在前端页面就可能用于多个事件。比如:用户密码需要更新的时候(用户密码是单独一个菜单进行更新操作的),用户对自己的基本信息需要更新的时候,管理员对单条用户的信息进行更新的时候。这三个事件,提交的用户个人信息字段数据有多也有少。但是action都可以接受,对于没有被赋值的字段就默认不更新。对于被赋值了的字段就进行更新。这样。这个action就可以对三个事件进行处理。而且不用ifelse这种语句,让人看起来繁琐。而且action只是负责接收前端给予的数据,调用接口,然后返回执行是否成功。

    当然这里需要解释一下。由于这个action是用于ajax调用。所以没有路径烦恼。也就是说不会因为最后返回的路径不同需要写三个action。

    只是想请教一下。这样写action是否真的合理呢?对于大家一致认为的一个action应该简单化,只处理一个事件。现在包含了三个事件在里面。从设计上讲可能不合适。但是我们也可以换一个角度看。如果把这个action是对应到实体类的一个操作,可能就正好。这个action是用于User这个实体类的更新操作的。所有的关于User的更新都应该走这个action。这样一个逻辑。

    欢迎大家拍砖。不知道大家对于这样的action设计觉得是否合理?
分享到:
评论

相关推荐

    Struts in Action中文版(PDF)

    Struts in Action 一步步介绍了Struts 框架。 并且书中好包含展示此书介绍的最好实践技术的几个示例应用程序。本书旨在帮助那些需要关于如何使他们的应用运行在Struts下面的实际和实战技术的专业技术人员。 ...

    Eclipse in Action

    第三章:用eclipse进行开发,包括单元测试,调试,日志 第四章:使用一个例子应用程序,向你展示如何组织你的项目,及重构 第五章:讲述关于ant(开源的构建工具),如何集成到eclipse中 第六章:eclipse对CVS的...

    java认证所有课程

    在这个模型中,事件被送往产生这个事件的组件,然而,注册一个或多个称为监听者的类取决于每一个组件,这些类包含事件处理器,用来接收和处理这个事件。采用这种方法,事件处理器可以安排在与源组件分离的对象中。...

    ANT IN ACTION 第2版 中文版.z01

    本书介绍了如何使用Ant 1.7去构建、测试、部署现代的Java应用程序,进行测试驱动的Java应用开发,本书还覆盖了一些最新式的构建技术,包括库管理、持续整合及自动化部署。本书将向你全面介绍大多数Java项目的核心...

    ANT IN ACTION 第2版 中文版.z02

    本书介绍了如何使用Ant 1.7去构建、测试、部署现代的Java应用程序,进行测试驱动的Java应用开发,本书还覆盖了一些最新式的构建技术,包括库管理、持续整合及自动化部署。本书将向你全面介绍大多数Java项目的核心...

    《Java 8 in Action》是一本关于 Java 编程语言的书籍,重点介绍了 Java 8 中引入的新特性和改进

    并发编程改进: 讨论 Java 8 中对并发编程的改进,包括 CompletableFuture、新的并发工具和并发数据结构等。 其他新特性: 简要介绍 Java 8 中引入的其他新特性,如接口的默认方法、方法引用、Optional 类型等。

    SWT JFace in Action 中文版

    在 2004 年三月,Java 开发者年度大会宣布了由其读者选择的最佳Java 组件年度奖结果,超过15,000 位开发者投票选举诸多Java 工具套件(当然包括不少声名显赫的供应商如Oracle 和Apple 等)之一。但最终,Eclipse 的...

    NHibernate in Action by Christian Bauer

    第十章提供了更多现实的应用。我们通过一个简单应用,将它转换成为一个具有持久层和灵活域模型的应用。本章还介绍了一个通用Helper类:DAO模式。最后,我们还介绍了web应用程序session的管理,展示如何进行长期的...

    Struts in Action 中文版

    产品,包括Tomcat, Ant, 和 Velocity。 开始的代码基础从 2000 年5 月开始开发,直到2001 年6 月,1.0 版本发布。有 30 多个开发者 参与进来,并有数千人参与到讨论组中。Struts 代码基础由一个志愿者团队来管理。到...

    ajax调用java实例源码-kafka-streams-in-action:KafkaStreamsinActionBook的源代码

    Action 的源代码。 在这里,您将找到运行书中示例代码的说明。 如果任何示例无法产生输出,请确保您已创建所需的主题。 对于在 Max/*nix 上运行的那些, bin目录中有create-topic.sh文件,它会提前创建所有必需的...

    Amazon Web Services in Action, Second Edition

    Amazon Web Services(AWS)是亚马逊公司的云计算平台,它提供了一整套基础设施和应用程序服务,可以帮助用户在云中运行几乎一切...最后展开讨论在AWS上如何设计架构,了解实现高可用性、高容错率和高扩展性的实践。

    XML in Action

    同伴光盘包括电子文本的图书,内容和代码样本和链接到xml网上资源。 虽然这个名称是通过书面的眼中,微软,它提供了一个很好的入门的可能性和现实的xml 。 书中描述 xml在行动显示网站开发商如何使用xml超越...

    ant_in_action.pdf(ant 实战)second edtion

    本书介绍了如何使用Ant 1.7去构建、测试、部署现代的Java应用程序,进行测试驱动的Java应用开发,本书还覆盖了一些最新式的构建技术,包括库管理、持续整合及自动化部署。本书将向你全面介绍大多数Java项目的核心...

    appendices:Meteor in Action 附录代码

    Meteor in Action 附录代码 关于这个仓库 该存储库包含 Manning 书籍提到的源代码,由和编写。 分行 每个附录的代码被推送到一个专门的分支。 所有推送最终都会合并到master ,以便可以查看附录的最终结果。 通常,...

    ch02-fridge:Meteor in Action 第 02 章的代码

    ch02-冰箱Meteor in Action 第 02 章的代码关于这个仓库该存储库包含 Manning 书籍提到的源代码,由和编写。分行本章部分的代码被推送到专用分支。 所有的section结果最终都会合并到master ,这样就可以查看该章节的...

    VC之美化界面篇本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础:

    本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础: 1. 大致了解MFC框架的基本运作原理; 2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制; 3. 熟悉OOP理论和技术; ...

    NHibernate参考文档 - 符合.Net习惯的关系数据库持久化

    NHibernate网站的“社区(Community Area)”是讨论关于设计模式以及很多整合方案(ASP.NET, Windows Forms,等等)的好地方。 如果你有问题,请使用NHibernate网站上链接的用户论坛。我们也提供一个JIRA问题追踪系统,...

    深入浅出struts2

    Action执行完毕以后,可以有多种结果类型——包括渲染JSP页面,Velocity和Freemarker模板,但并不仅限于这些。最后,依赖注入也成了Struts2王国中的一等公民,这项功能是通过Spring框架的插件和Plexus共同提供的,与...

    python入门到高级全栈工程师培训 第3期 附课件代码

    05 ORM多表操作之多对多添加记录 06 ORM多表操作之多对多查询 07 ORM多表操作之F查询与Q查询 08 ORM的querySet集合对象的特性 第53章 01 admin介绍 02 alex首秀失败 03 自定义admin样式 04 admin补充 05 COOKIE...

    Struts原理、开发及项目实施

    J2EE体系包括JSP、Servlet、EJB、WEB SERVICE等多项技术。这些技术的出现给电子商务时代的WEB应用开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来,形成一个适应项目需要的稳定架构是项目开发过程...

Global site tag (gtag.js) - Google Analytics