2015-04-04 58 views
0

我想基于第一个java组件的上下文为页面添加动态显示。我有2个全局Java类处理相同页面的逻辑。第一个Java类(详细信息)从JSON中检索数据并将其存储,以便稍后使用JSP作为视图进行显示。另一个Java类(显示文本)需要知道另一个Java是否存在1个数据值(提升),并显示基于提升的不同文本是否存在。如何从同一页中的另一个Java类中的一个Java类获取值/元素

当前2个类是独立创建的,因此值提升无法传递到第二个类的构造函数中。

问题: 因为第二个Java类也是全局的,所以从第一个Java类获取完整的JSON功能是很昂贵的,因为这个组件在每个页面中都被使用。 我想通过在第一个jsp组件中设置一个id使用javascript getElementbyId,并在第二个类中检索id以显示不同的文本。缺点是它依赖于UI html元素来查看是否在第二个Java组件中显示内容。我想使用的另一个解决方案是servletContext在第一个类中设置促销变量,当第二个类检查并查看变量存在时,它可以显示文本。有没有其他建议可以解决这个问题?

回答

0

你是否使用spring作为背景框架。这将允许使用它的依赖注入,因此您可以将您需要的任何值从第一个类传递到第二个构造函数。

这也会减少你的依赖性和复杂性。

+0

2类的当前结构不允许将参数传入第二类。我正在考虑使用javascript读取当前页面的元素,或者使用Java servlet上下文在第一个类中设置属性并在第二个类中检索它。 – Shawn 2015-04-04 22:44:37

+0

设置servlet上下文不是一个好主意,因为它不必要地重载JVM。一个更好更简单的解决方案可能是为第二类的属性添加一个getter和setter,并在调用您的特定方法之前,调用setter并通过getter使用该值, – 2015-04-05 03:52:21

+0

谢谢你的回答,我有想过把一个getter/setter放到第二个类中,这样第一个类可以设置它并在稍后检索。但问题是,即使他们在同一页面内,这两个类也不会与每个类交谈。它们是添加到cq adobe web内容管理系统中的两个组件。 – Shawn 2015-04-05 21:21:26

相关问题