2012-03-07 45 views
0

我正在用GWT創建一個登錄頁面。 如果登錄成功,我只是用object.setVisible(布爾)顯示/隱藏元素,還是有其他正確的方法來做到這一點?如果用戶登錄,顯示/隱藏元素?

謝謝

+0

它取決於。很多元素,展現出不同的窗口。少數元素,展現隱藏的元素。 – vulkanino 2012-03-07 15:05:23

回答

1

我會建議添加/刪除DOM中的元素。

例如: 如果您只是通過將註銷用戶設置爲不可見來隱藏按鈕。惡意註銷的用戶可以使用瀏覽器開發工具使其可見,並且將獲得僅用於登錄用戶的功能。

0

是的,這或多或少是正確的方式來做到這一點。每當你需要隱藏的東西,你可以這樣做:

thing.setVisible(userLoggedIn()); 

當需要把它藏在這將隱藏它,並顯示它時,它需要顯示。

如果您發現需要隱藏很多東西,您可能需要考慮將它們全部註冊到中心位置,然後遍歷它們以在代碼中顯示/隱藏所有內容。

如果您有一個需要有條件地顯示/隱藏,並且如果有很多代碼只需要爲登錄用戶運行,並且您希望註銷的用戶使用您的站點的任何有意義的東西,您可以根據用戶的登錄狀態生成延遲綁定排列,以便登出的用戶不必無需下載所有登錄的用戶代碼。但這是一個更高級的話題。