Re: IllegalStateException
От: Георгий  
Дата: 19.12.07 22:08
Оценка:
Здравствуйте, oson, Вы писали:

O>Подскажите пожалуйста, в чем причина такого exception?

Трудно сказать, в чем причина. У вас сервлет jsf как замаплен?

Вот пример генерации отчета из одного приложения (код упрощен). Может пригодтся:

public class ExportPhaseListener implements PhaseListener {

    public void beforePhase(PhaseEvent event) {
        FacesContext context = event.getFacesContext();
        HttpServletResponse response = (HttpServletResponse) context
                .getExternalContext().getResponse();
        Object object = context.getExternalContext().getRequest();

        HttpServletRequest request = (HttpServletRequest) object;

        if (request.getServletPath().equals("тут путь для отчета") {
            return;
        }

        response.setContentType("text/csv");
        response.setContentLength(value.length());
        response.setHeader("Content-Disposition", "inline;filename="
                + item.getName() + ".csv");

        try {
            response.getWriter().write(value);
        } catch (IOException e) {
            e.printStackTrace();
        }
        event.getFacesContext().responseComplete();
    }

    public PhaseId getPhaseId() {
        return PhaseId.RESTORE_VIEW;
    }

    public void afterPhase(PhaseEvent event) {
    }
}


Т.е. по сути не сервлетом, а вклиниваемся в jsf life cycle.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.