簡體   English   中英

從JSF到Bean到JSF

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

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