Я использую штрих-код уведомления для моего приложения. Я хочу, чтобы он появлялся только тогда, когда пользователь входит в систему и перенаправляется на страницу с именем main.xhml
Я пытаюсь сделать это, но я не знаю, почему я не могу заставить его появиться.
Это метод, расположенный в управляемом компоненте, который выполняет перенаправление при нажатии кнопки входа в систему на странице с именем login.xhtml:
@ManagedBean
@RequestScoped
public class SecurityController {
@EJB
private IAuthentificationEJB authentificationEJB;
public String logIn() {
if (authentificationEJB.saveUserState(email, password)) {
// Pass a parameter in ussing the URL.(The notification bar will
// read this parameter)
return "main.xhtml?faces-redirect=true&login=1";
} else {
return null;
}
}
Вот кнопка, которую пользователи нажимают для входа на страницу с именем login.xhtml
<h:commandButton value="Login" action="#{securityController.logIn()}"/>
Вот страница, на которую пользователи попадают при входе в систему (main.xhtml):
<ui:composition template="WEB-INF/templates/BasicTemplate.xhtml">
<ui:define name="mainForm">
<h2>The main page</h2>
<!-- Why this dont work? -->
<script type="text/javascript">
jQuery(function() {
topBar.show()
});
</script>
<!-- It is possible to change font -->
<p:notificationBar id="notbar" position="top" widgetVar="topBar" styleClass="top" rendered="#{param.login == '1'}">
<h:outputText value="Welcome, you are now logged in!"
style="color:#FFCC00;font-size:36px;" />
</p:notificationBar>
</ui:define>
</ui:composition>
В URL-адресе я вижу login = 1, но когда пользователь приходит в main.xhtml, панель уведомлений не появляется.
Как я могу заставить его появиться?
Кроме того, вы знаете, как я могу заставить его исчезнуть с эффектом исчезновения через 3 секунды?