[英]JSF to Bean to JSF
所以我在嘗試傳遞字符串值時遇到問題。
字符串值通過登錄頁面作為用戶名輸入。
然后,JSF調用Bean來驗證登錄信息,然后進入另一個JSF頁面。
我想知道如何將用戶名傳遞到新的JSF頁面。 謝謝。
如果您執行的是導航而不是重定向,那么您基本上不需要執行任何操作。 該信息也僅在導航頁面中可用。
例如在登錄頁面中,
<h:inputText value="#{bean.username}" />
並在導航頁面中:
<p>You have entered the following username: #{bean.username}</p>
但是,如果要執行重定向而不是導航,則基本上需要將信息存儲在更廣泛的范圍內。 您沒有清楚地說明問題中的具體功能要求,但是如果我猜對了,您只想記住剩余的HTTP會話的當前登錄用戶。 在這種情況下,只需在登錄操作期間將其存儲在會話作用域中即可 。
public String login() {
// ...
User user = userService.find(username, password);
// ...
externalContext.getSessionMap().put("user", user);
// ...
return "nextpage?faces-redirect=true";
}
這樣, #{user}
在整個HTTP會話中使用它。
<p>You're logged in as #{user.name}.</p>
您也可以不使用會話范圍就使用<t:saveState>
。 <t:saveState>
大於請求范圍,但小於會話范圍。
這可能對您有幫助: http : //myfaces.apache.org/tomahawk-project/tomahawk12/tagdoc/t_saveState.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.