提问人:Mohammed ABOUZID 提问时间:10/31/2023 最后编辑:BalusCMohammed ABOUZID 更新时间:10/31/2023 访问量:23
JSF 在打开对话框时调用另一个受管 Bean [重复]
JSF calling another managed bean while opening a dialog [duplicate]
问:
你好,每个人都知道标题不对,但这是我的问题, 所以我有一个数据表,当我单击commandButton时,我想打开一个对话框并恢复对话数据 来自另一个 Bean 这是我的代码
<p:dataTable value="#{myFirstBean.listPerson}" var="person" ... >
<p:column>
<p:commandButton global="false" value="#{person.name}" action=#{myFirstBean.details()}>
<f:setPropertyActionListener value="person"
target="#{myFirstBean.selectedPerson}" />
</p:column>
</p:dataTable
my bean : myFirstBean
public void details(){
Flash flash = FacesContext.getCurrentInstance().getExternalContext().getFlash();
flash.put("selectedPerson", selectedPerson);
DialogFrameworkOptions options = DialogFrameworkOptions.builder()
.modal(true)
.fitViewport(true)
.responsive(true)
.width("900px")
.contentWidth("100%")
.resizeObserver(true)
.resizeObserverCenter(true)
.resizable(false)
.styleClass("max-w-screen")
.iframeStyleClass("max-w-screen")
.build();
PrimeFaces.current().dialog().openDynamic("viewPerson", options, null);
}
my second bean : selectedPersonManagedBean
@PostConstruct
public void init(){
Flash flash = FacesContext.getCurrentInstance().getExternalContext().getFlash();
if(flash.get("selectedPerson")!null){
person = (Person) flash.get("selectedPerson");
}
}
因此,在选定的托管 Bean 中,当我在 commandButton 上使用 ajax false 时,闪存始终是空的,但它可以工作,但我想保留 ajax 。谢谢
答: 暂无答案
评论