Boa tarde,
Os sumários estão sendo gravados com sucesso, contudo o problema esta na listagem deles.
Exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/views/produtos/lista.jsp at line 62
59:
${produtos.nome} |
${produtos.descricao} |
<c:url value='/${product.sumarioPath}' /> |
<a href="<c:url value='/${produtos.summaryPath}'/>" 63: target="_blank">sumário |
Produtos Controller
public ModelAndView gravar(MultipartFile sumario,@Valid Produtos produto, BindingResult result,
RedirectAttributes redirectAttributes) {
new FileSaver();
System.out.println(sumario.getOriginalFilename());
if(result.hasErrors()) {
return cadastro(produto);
}
String path = fileSaver.write("WEB-INF/views/produtos/arquivos-sumario", sumario);
produto.setSumarioPath(path);
produtoDao.gravar(produto);
redirectAttributes.addFlashAttribute("sucesso","Produto cadastrado com sucesso!");
return new ModelAndView("redirect:produtos");
}
FileSaver
insira seu código apackage br.com.oncolor.infra;
import java.io.File;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
@Component
public class FileSaver {
@Autowired
private HttpServletRequest request;
public String write(String baseFolder, MultipartFile file) {
try {
String realPath = request.getServletContext().getRealPath("/"+ baseFolder);
String path = realPath + "/" + file.getOriginalFilename();
file.transferTo(new File(path));
return baseFolder+ "/" + file.getOriginalFilename();
} catch (IllegalStateException | IOException e) {
throw new RuntimeException(e);
}
}
}