簡體   English   中英

在JSF中通過URL傳遞參數

[英]Passing parameters by URL in JSF

我需要通過選擇數據表行轉到頁面。 使用ajax事件有一些問題。

FacesContext context = FacesContext.getCurrentInstance();
NavigationHandler navigationHandler = context.getApplication().getNavigationHandler();
navigationHandler.handleNavigation(context, null, "/views/questionnaires/viewDetails.xhtml?faces-redirect=true&questionnaireId=" + 1);

但是我還需要將參數傳遞給目標頁面bean。

@ManagedProperty(value = "#{param.questionnaireId}")
private Long questionnaireId;

而且它不起作用。 如何正確做?

需要做的最明顯的事情是,您需要在該URL中包括includeViewParams=true ,以使該參數在重定向后仍然有效。 因此,您將擁有:

  navigationHandler.handleNavigation(context, null, "/views/questionnaires/viewDetails.xhtml?faces-redirect=true&includeViewParams=true&questionnaireId=" + 1);

另一個問題可能是目標bean的范圍。 根據JSF規范, @ViewScoped bean不是#param bean注入的有效目標

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM