小编Nin*_*hra的帖子

获取Spring 3.1 MVC视图的渲染输出

我需要将Spring 3.1 MVC View的渲染输出转换为字符串(用于发送到PDF转换器,或发送到MIME电子邮件等等),并且我一直在使用以下代码:

这被注入Controller

    @Autowired
    TilesViewResolver viewResolver;
Run Code Online (Sandbox Code Playgroud)

以下辅助方法:

    private String renderViewToString(ModelMap map, HttpServletRequest request, HttpServletResponse httpServletResponse, final String viewName) {
        final StringWriter html = new StringWriter();
        View pdfView = new View() {
            @Override
            public String getContentType() {
                return "application/pdf";
            }

            @Override
            public void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response) throws Exception {

                HttpServletResponseWrapper wrapper = new HttpServletResponseWrapper(response) {
                    @Override
                    public PrintWriter getWriter() throws IOException {
                        return new PrintWriter(html);
                    }
                };
                View realView = viewResolver.resolveViewName(viewName, Locale.US);
                Map<String, Object> newModel …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc

10
推荐指数
1
解决办法
2434
查看次数

如何获取PDF内容(从Spring MVC控制器方法提供)以显示在新窗口中

我是Spring MVC的新手,但我对它的功能印象深刻.

我正在使用3.1.0-RELEASE,我必须显示PDF以响应表单:表单提交.

这是我在控制器中编写的(小)代码:

@RequestMapping(value = "new_product", method = RequestMethod.POST, params = "print")
@ResponseBody
public void saveAndShowPDF(ModelMap map, ShippingRequestInfo requestInfo, HttpServletRequest request, HttpServletResponse httpServletResponse) throws IOException {
    saveProductChanges(map, requestInfo, request, httpServletResponse);
    httpServletResponse.setContentType("application/pdf");
    byte[] pdfImage = productService.getPDFImage(requestInfo.getRequestId());
    httpServletResponse.getOutputStream().write(pdfImage);
}
Run Code Online (Sandbox Code Playgroud)

此代码将PDF byte []发送回原始窗口.

如何让PDF显示在单独的窗口中,以便我仍然可以使用原始浏览器窗口显示其他内容?最好的方法是使用客户端PDF查看程序(Adobe Reader,FoxIt等)显示PDF,但我可以将PDF显示在单独的浏览器窗口中.

编辑: 我决定设置Content-Disposition,以便浏览器显示一个保存/打开框,用户可以打开Adobe(丢失主浏览器页面).

httpServletResponse.setHeader("Content-Disposition","attachment;filename=cool.pdf");
Run Code Online (Sandbox Code Playgroud)

感谢大家!

java browser pdf spring-mvc

7
推荐指数
1
解决办法
1万
查看次数

Alloy Resources文件夹在哪里

我正在使用Titanium Alloy 3.0.2 GA(在Mac上)来构建跨平台的移动应用程序

为什么在Titanium Studio 中不显示Resources文件夹,即使它存在于文件系统中?

我想存储一些将在应用程序中显示的图像,我相信我应该将它们存储在Resources文件夹中的某个位置.

当我在Studio中查看Project Explorer时,我看不到/ Resources文件夹.

来自Project Explorer的图像

当我尝试将一个Resources文件夹添加到根目录时,我被告知已经有一个Resources文件夹!

添加文件夹时出错

Finder确认有一个Resources文件夹.

那么,如何让Resources文件夹显示在Studio Project Explorer中?

此外,它也没有显示在App Explorer视图中.

titanium

3
推荐指数
1
解决办法
6603
查看次数

标签 统计

spring-mvc ×2

browser ×1

java ×1

pdf ×1

spring ×1

titanium ×1