uploadListener 这是用的观察者模式。
rich:messages 会在页面中显示所有消息:
<rich:popupPanel id="messagePopup" left="500" top="20" show="true" modal="false" >
        <rich:messages id="mess" />
    </rich:popupPanel>你加上特定组件试试:
FacesContext faceContext = FacesContext.getCurrentInstance();
          FacesMessage facesMessage = new FacesMessage();
          facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR);     
          facesMessage.setDetail(this.ppsResources.getString("passwordupdated"));
          facesMessage.setSummary(this.ppsResources.getString("passwordupdated"));
          faceContext.addMessage("main:changepassview:changePassForm:updatedpasswordField", facesMessage);<h:outputText id="updatedpasswordField"/>
              <h:message for="updatedpasswordField" errorClass="wf_error"></h:message>

解决方案 »

  1.   

    好像没起作用啊,我不明白的是sheet多的时候就执行两次,页面还没有反应,但是这个getListDirExpBudget()List中成功存入数据。如果导入的excel中sheet也较少,就可以成功执行。很费解啊
      

  2.   

    奇怪。
    那么会不会是,对于很多 sheet,它就分两次上传了?
    你去确认下。
    怎么确认?给你点建议:监听服务器端口,几次请求一目了然。
      

  3.   

    开始的时候导入多sheet页的Excel会报这种错:
    后来我在Tomcat server.xml中 配上:就出了上述的那种现象