java 从NetWeaver中的视图阅读和Map上下文元素

kknvjkwl  于 2023-06-28  发布在  Java
关注(0)|答案(2)|浏览(87)

我在Java Web Dynpro应用程序中有两个视图,我想在它们之间共享一个变量,以便当在StartView中提交字符串时,我可以在ResultView中显示它。我有点困惑的Map是如何工作的。
我在组件上下文like thisthis中创建了一个名为Usernamevalue attribute。然后我在StartView和Component Controller之间创建了一个数据链接。我将Username属性从右侧(组件所在的位置)拖到StartView上下文中。结果为like this.
这就是我被困住的地方我不知道如何从组件到ResultView引用这个用户名属性。显然,我需要在两者之间创建一个数据链接,但然后呢?

基本上我想让这段代码工作:

String headerText = wdThis.wdGetWelcomeComponentController().
wdGetContext().currentContextElement().getUsername();
wdContext.currentContextElement().setHeaderText(headerText);
// headerText is the name of the attribute that I want to create in the ResultView
s4n0splo

s4n0splo1#

创建一个从username属性(在组件控制器中)到headertext属性(在结果视图中)的Map。通常对此不需要编码。

dzjeubhm

dzjeubhm2#

正如你的图片所示,你的上下文是在控制器中,这是webdynpro的典型方式,你定义了当你拖动属性到视图。您可以通过箭头确认,并在视图的属性中选择属性,您将看到这是一个WelcomeComponent属性。
您可以在新视图中创建一个新属性,然后连接两个属性,或者只是将属性从控制器拖到视图中以创建一个新属性。最后的结果将是相同的,所以我建议你直接创建它的思想控制器,它得到了更少的步骤。
如果你选择创建一个新的,当你将加入两个属性(控制器和视图)webdynpro将迫使你有一个控制器查看关系,你不能让它反转,基于MVC模式webdynpro实现。
例如,如果你在view上有一个ant int属性,在controller上有一个string属性,当你建立关系时,controller属性将保持不变,而view将变为string,通过属性定义是controller属性。

相关问题