gpt4 book ai didi

java - JSF 通过 session 传递 POJO

转载 作者:行者123 更新时间:2023-12-01 09:14:13 25 4
gpt4 key购买 nike

所以我有一颗 bean

public class MyBean
{
private List<MyClassObject> myList;
//getters and setters
}

MyClassObject 类内部有另一个列表

public class MyClassObject
{
private List<MySubClassObject>mysubList;
//getters and setters
}

那么我就有了一个 JSF 页面

<p:dataTable id="xyz" var="Class" value="#{MyBean.myList}">

<f:facet name="header">
MyClassObjects
</f:facet>

<p:column headerText="Prop1">
<h:outputText value="#{Class.prop1}" />
</p:column>
<p:column headerText="Prop2">
<h:outputText value="#{Class.prop2}" />
</p:column>
<p:column headerText="Prop3">
<h:outputText value="#{Class.Prop4}" />
</p:column>
<p:column headerText="Sub Classes">
<p:commandButton value="Open Sub Class" url="/faces/pages/SomeOtherPage.xhtml"/>
</p:column>
</p:dataTable>

现在的目标是,我想创建一个按钮/commandButton 或任何可单击的内容,以导航到另一个页面并显示在该特定行变量中找到的 MySubClassObject 列表的另一个类似表。

有没有办法将 var="Class"传递到 url 目标,以便下一个表可以访问它(这是所需的逻辑,我知道确切的执行流程的答案是否定的,什么我正在寻找的是如何正确实现相同的功能)?

非常感谢!

最佳答案

您可能需要类似的东西:

 <p:commandButton value="Open Sub Class"
action="#{MyBean.selectClass(Class)} />

在“MyBean”中,您必须编写如下内容:

public String selectClass(MyClassObject obj){
this.selectedObj = obj;
return "/faces/pages/SomeOtherPage.xhtml"
}

在这里,您可以通过#{MyBean.selectedObj}访问“var=Class”。

这里一件重要的事情是 MyBean 的范围。看起来不错。

关于java - JSF 通过 session 传递 POJO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40693886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com