Я пытаюсь сделать Csv загрузить таким же образом, как здесь: How to provide a file download from a JSF backing bean?JSF загрузить CSV в боб
Мой ответ продолжает бросать nullPointerException
на output.write()
в линию. Боб имеет область запроса. Любые мысли относительно нулевого указателя?
try
{
//submitForm();
FacesContext fc = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse();
response.reset();
response.setContentType("text/csv");
//response.setContentLength(contentLength);
response.setHeader ("Content-disposition", "attachment; filename=\"Reporting-" +
new Date().getTime() + ".csv\"");
OutputStream output = response.getOutputStream();
String s = "\"Project #\",\"Project Name\",\"Product Feature(s)\",";
s+="\"Project Status\",";
s+="\"Install Type\",";
s+="\"Beta Test\",\"Beta Test New/Updated\",";
s+="\"Production\",\"Production New/Updated\",";
s+="\n";
InputStream is = new ByteArrayInputStream(s.getBytes("UTF-8"));
int nextChar;
while ((nextChar = is.read()) != -1)
{
output.write(nextChar);
}
output.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
Это не проблема прямого JSF. Вам нужно [преобразовать String в поток] (http://stackoverflow.com/q/247161/1065197). Кроме того, не забудьте закрыть выход. –
Изменено на InputStream и отправлено на OutputStream, и он все равно бросает nullPointer на output.write. Мысли? – user1523885
Ваша переменная 'output' имеет значение« null », что очень странно. –