我将primefaces notification Bar用于我的应用。我想让它出现在用户登录并被重定向到名为main.xhml的页面时 我试图这样做,但我不知道为什么我不能让它出现。
这是一个位于托管bean中的方法,当在名为login.xhtml的页面上单击登录按钮时,该托管bean执行重定向:
@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秒后消失效果消失?
答案 0 :(得分:2)