我有一个具有大约30个变量的操作类。这些领域的获取者和设置者弄乱了我的代码并添加了不必要的行。有没有办法反映所有的private
字段,并使它们对Struts“可见”?Struts 2中的反射
2
A
回答
0
听起来像是对我错误的做法。
在Java的OO和封装概念中,获取器和设置器是非常基础的。如果您不喜欢编写 getters和setter或者使用像Lombok(http://projectlombok.org/index.html)这样的框架,或者选择其他语言,例如Gradle。
大多数(如果不是全部的话)Java代码使用它们,所以也许你认为它们搞砸了代码有点不对。一个好的IDE应该可以帮助你摆脱困境。
哦,反射增加了大量的性能开销,完全不是为了短路访问私有成员。
0
实际上你并不需要getter和setter来让OGNL工作。但不要这样做。
如果您的担心是更大类的“开销”,那么创建一个封装视图状态并仅公开该对象的对象。您也可以通过ModelDriven
界面来完成此操作;一些注意事项适用。
获得者和设置者在Java中是相同的课程。习惯它。使用自动折叠简单的getXxx
/setXxx
方法的IDE。开始使用演示者模式来封装视图状态并将其用作Web和业务域对象之间的翻译层。
+0
我的实体是不可变的,我猜ModelDriven接口不适用于我。但是我可以写一个DTO对象,这会是一个好方法吗? – 2014-12-03 22:57:38
相关问题
- 1. Struts-Struts 2中的I18n
- 2. RAD中的Struts 2
- 3. Swift 2反射错误
- 4. 反射在迅速2
- 5. 将arraylist对象映射到struts 2中的下拉列表(s:select)
- 6. 为Struts 2中的特定操作映射配置SiteMesh?
- 7. 从非struts 2 action访问struts 2 jsp
- 8. Struts 2中的SessionAware设计
- 9. Struts 1.x vs Struts 2.x
- 10. Struts 2 - struts标记错误
- 11. 运行Struts 1和Struts 2
- 12. 砖的Struts 2 NoSuchDefinitionException
- 13. Struts 1和Struts 2的区别?
- 14. GLSL中的反射映射
- 15. Struts 2 dispatcher
- 16. Dropdown struts 2
- 17. Struts 2 subaction
- 18. 使用反射的Azure Table SDK 2 EntityResolver
- 19. 验证问题Struts中2
- 20. 在Struts 2中处理ActionForward
- 21. Struts 2验证问题 - 未映射util.js和validation.js的动作
- 22. 没有为名称空间struts 2映射的动作
- 23. 在Struts 2中使用servlet 2
- 24. asp.net中的反射
- 25. Java中的反射
- 26. Android中的反射?
- 27. python中的反射
- 28. Netbeans支持struts 2?
- 29. 升级struts 2 jar
- 30. Struts 2会话值
您想在哪里使用此功能?在表示层(屏幕)上? – 2014-12-03 09:00:26
是@Buhake Sindi。 Struts似乎只能通过getter和setter来访问变量,但这不是好的做法 – 2014-12-03 11:10:50
@VladMatvei它*是一种在Java Beans中使用getter和setter的好习惯,但您的问题是额外序号+1。 – 2014-12-03 11:18:01