Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从同一页面的另一个Java类中的一个Java类中获取值/元素_Java_Javascript_Jsp_Servlets - Fatal编程技术网

如何从同一页面的另一个Java类中的一个Java类中获取值/元素

如何从同一页面的另一个Java类中的一个Java类中获取值/元素,java,javascript,jsp,servlets,Java,Javascript,Jsp,Servlets,我试图根据第一个java组件的上下文为页面添加动态显示。我有两个全局Java类处理同一页面的逻辑。第一个java类详细信息从JSON检索数据,并将其存储起来,以便稍后使用JSP作为视图显示。另一个Java类显示文本需要知道是否存在来自另一个Java的1个数据值提升,并根据提升是否存在显示不同的文本 目前,这两个类是独立创建的,因此无法将值提升传递到第二个类的构造函数中 问题: 因为第二个Java类也是全局的,所以从第一个Java类获取整个JSON功能的成本很高,因为每个页面都使用这个组件。 我试

我试图根据第一个java组件的上下文为页面添加动态显示。我有两个全局Java类处理同一页面的逻辑。第一个java类详细信息从JSON检索数据,并将其存储起来,以便稍后使用JSP作为视图显示。另一个Java类显示文本需要知道是否存在来自另一个Java的1个数据值提升,并根据提升是否存在显示不同的文本

目前,这两个类是独立创建的,因此无法将值提升传递到第二个类的构造函数中

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

您是否使用spring作为后台框架。这将允许使用其依赖项注入,因此您可以将所需的任何值从第一个类传递给第二个类的构造函数


这也会降低依赖性和复杂性。

这两个类的当前结构不允许将参数传入第二个类。我在考虑使用javascript读取当前页面的元素,或者使用JavaServlet上下文在第一个类中设置属性并在第二个类中检索它。设置servlet上下文不是一个好主意,因为它会不必要地重载JVM。一个更好但简单的解决方案是为第二个类的属性添加一个getter和setter,在调用特定方法之前,调用setter并通过getter使用该值。谢谢您的回答,我已经考虑过将getter/setter放在第二个类中,以便第一个类可以设置它并在以后检索。但问题是,这两个类即使在同一个页面中,也不会相互交谈。它们是添加到cq adobe web内容管理系统中的两个组件。