[英]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.