2012-07-31 48 views
2

我正试图在现有的大型SEAM项目上向用户添加信息消息。我已将<h:messages/>添加到.xhtml页面,并且这些是我在类AbstractChartController的类代码中的尝试,但是在操作之后刷新页面时,将显示非FacesMessages,任何人都知道我可以接下来尝试什么?SEAM FacesMessage不显示

if (axis.getAxisType() == AxisType.LOGARITHMIC && axis.getLowestValue() <= 0d){ 
    //Non of this code works: 
    //Attempt 1 
    FacesMessages facesMessages = FacesMessages.instance(); 
    facesMessages.add(FacesMessage.SEVERITY_INFO, "Note: Data contains values below or equal to zero so cannot be plotted on a logarithmic axis."); 
    //Attempt 2 
    FacesContext context = FacesContext.getCurrentInstance(); 
    FacesMessage message = new FacesMessage("Test2"); 
    context.addMessage(null, message); 
    //Attempt 3 
    org.jboss.seam.faces.FacesContext myContext = (org.jboss.seam.faces.FacesContext) Component.getInstance("FacesContext"); 
    if (myContext != null) { //Why is this null in debug? 
     myContext.getContext().addMessage("Test3", message); 
    } 
    //Attempt 4: 
    //StatusMessages.instance() 
    //.add(StatusMessage.Severity.INFO, "Test4"); 
    // (Compile time error above that it can't find StatusMessages class to import) 
    System.out.println("FacesMessage added"); 
    ... 

编辑:“面临补充信息”在我的日食控制台显示这样的代码正在运行

我想这个类不能访问FacesContext中由于某种原因?我在正确的轨道上吗?

回答

1
StatusMessages statusMessages = Component.getInstance("statusMessages"); 
statusMessages.add(Severity.ERROR,"Note: Data contains values below or equal to zero so cannot be plotted on a logarithmic axis."); 
+0

FacesMessages facesMessages = Component.getInstance( “facesMessages”); facesMessages.add(严重性:ERROR,“注意:数据包含低于或等于零的值,因此不能在对数坐标轴上绘图。”); – Trind 2012-07-31 22:21:52

+0

应该工作,但statusmessage应该是如果你找不到那个课程,你可能没有正确的jar,什么jboss,seam等等的方式? – Trind 2012-07-31 22:22:41

+0

由于StatusMessages在jboss-seam.jar中,因此您应该查看您的配置。 – Trind 2012-07-31 22:34:05