我用 Netbeans 生成了 CRUD 软件。JSF 页面位于 JSF 文件夹中。该文件夹中的一切正常。我只是将那些 jsf 文件复制到 Protected-folder 下,完全相同的文件。消息在那里,但它们从未出现在屏幕上。
我做了一些系统输出:
public static void addSuccessMessage(String msg) {
System.out.println("********************JsfUtil******************************");
System.out.println("--------------addSuccessMessage-------------------");
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, msg, msg);
System.out.println("facesMsg----------------->" +facesMsg);
System.out.println("facesMsg----------------->" +facesMsg.getDetail());
FacesContext.getCurrentInstance().addMessage("successInfo", facesMsg);
System.out.println("FacesContext.getCurrentInstance()" +FacesContext.getCurrentInstance().toString());
}
public String create() {
try {
getFacade().create(current);
JsfUtil.addSuccessMessage(ResourceBundle.getBundle("resources/Bundle").getString("GiftCreated"));
return prepareCreate();
} catch (Exception e) {
JsfUtil.addErrorMessage(e, ResourceBundle.getBundle("resources/Bundle").getString("PersistenceErrorOccured"));
return null;
}
在服务器日志中:
INFO: ********************JsfUtil******************************
INFO: --------------addSuccessMessage-------------------
INFO: facesMsg----------------->javax.faces.application.FacesMessage@141541
INFO: facesMsg----------------->User was successfully created.
INFO: FacesContext.getCurrentInstance()com.sun.faces.context.FacesContextImpl@7f9d04
但在网页中,什么都没有只是文件夹不同。
编辑:我只是发现它们处于不同的上下文中。我记录了 id,从文件夹 Jsf(什么不受保护)中尝试了 xhtml-file,然后从文件夹 Protected 中尝试了 xhtml-file,并且有两个不同的上下文,它是否正确,为什么会这样?这让我发疯了,啊。
INFO: _______________________doFilter()_________________________________
INFO: ********************JsfUtil******************************
INFO: --------------addSuccessMessage-------------------
INFO: facesMsg----------------->javax.faces.application.FacesMessage@173ae75
INFO: facesMsg----------------->User was successfully created.
**INFO: FacesContext.getCurrentInstance()com.sun.faces.context.FacesContextImpl@1c28e53**
INFO: .......................User was successfully created.
INFO: _______________________doFilter()_________________________________
INFO: ********************JsfUtil******************************
INFO: --------------addSuccessMessage-------------------
INFO: facesMsg----------------->javax.faces.application.FacesMessage@127706d
INFO: facesMsg----------------->User was successfully created.
**INFO: FacesContext.getCurrentInstance()com.sun.faces.context.FacesContextImpl@4632db**
INFO: .......................User was successfully created.
谢谢和抱歉!萨米人