Hi,
ich möchte, dass ich auch aus der Geschäftslogik her eine Growl Message senden kann.
Ich habe mir daher folgende Klasse geschrieben:
Der Aufruf klappt auch super aus der View her:
Aber wenn ich die Methode zb so hier aufrufe, kommt ne Nullpointer:
Ist das machbar, dass ich die Methode auch aus anderen Methoden aufrufen kann ohne dass es einer Action vom User Bedarf? Irgendwie hab ich grad n Brett vorm Kopf...
ich möchte, dass ich auch aus der Geschäftslogik her eine Growl Message senden kann.
Ich habe mir daher folgende Klasse geschrieben:
Java:
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
@ManagedBean
public class MessageManager {
public static void sendMessage(String message){
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, message, message);
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
Der Aufruf klappt auch super aus der View her:
HTML:
<p:commandButton value="Login" update="growl"
action="#{messageManager.sendMessage('Blabla')}" />
Aber wenn ich die Methode zb so hier aufrufe, kommt ne Nullpointer:
Java:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
HttpServletRequest req = (HttpServletRequest) request;
HttpSession session = ((HttpServletRequest) req).getSession(false);
if (session == null) {
String contextPath = ((HttpServletRequest) req).getContextPath();
((HttpServletResponse) response).sendRedirect(contextPath + "/login.xhtml");
} else if (session.getAttribute("loggedIn") == null) {
String contextPath = ((HttpServletRequest) req).getContextPath();
((HttpServletResponse) response).sendRedirect(contextPath + "/login.xhtml");
} else {
MessageManager man = new MessageManager();
man.sendMessage("dfsljgfkj");
chain.doFilter(request, response);
}
}
Ist das machbar, dass ich die Methode auch aus anderen Methoden aufrufen kann ohne dass es einer Action vom User Bedarf? Irgendwie hab ich grad n Brett vorm Kopf...