Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vaadin、弹簧靴和Vaadin附加组件_Vaadin_Vaadin8_Vaadin4spring - Fatal编程技术网

Vaadin、弹簧靴和Vaadin附加组件

Vaadin、弹簧靴和Vaadin附加组件,vaadin,vaadin8,vaadin4spring,Vaadin,Vaadin8,Vaadin4spring,在与Spring boot一起的Vaadin 8.0项目中,我尝试使用Vaadin附加组件(WTPdfViewer,)预览PDF文件 我遇到的问题是,当试图查看PDF文件时,插件试图从我认为错误的路径获取相关的javascript资源。因此,它试图从 http://localhost:8080/my/uipath/APP/PUBLISHED/pdf.worker.js 而不是我认为正确的: http://localhost:8080/vaadinServlet/APP/PUBLISHED/pd

在与Spring boot一起的Vaadin 8.0项目中,我尝试使用Vaadin附加组件(WTPdfViewer,)预览PDF文件

我遇到的问题是,当试图查看PDF文件时,插件试图从我认为错误的路径获取相关的javascript资源。因此,它试图从

http://localhost:8080/my/uipath/APP/PUBLISHED/pdf.worker.js
而不是我认为正确的:

http://localhost:8080/vaadinServlet/APP/PUBLISHED/pdf.worker.js

该项目的非spring启动版本工作正常,因此我认为它与Vaadin插件在spring启动项目中的工作方式有关。有什么想法吗

似乎其他人也有同样的问题,并将解决方案发布在此处:

我在照搬那个答案

简而言之,解决方案是创建一个控制器,将请求转发到错误的url到正确的url

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class PdfJsRedirectController {
    private static final String WORKER_JS_INCORRECT_PATH = "/APP/PUBLISHED/pdf.worker.js";
    private static final String WORKER_JS_CORRECT_FORWARD_PATH = "forward:/vaadinServlet/APP/PUBLISHED/pdf.worker.js";

    @RequestMapping(value = WORKER_JS_INCORRECT_PATH)
    public String forwardWorkerJsRequestToVaadin() {
        return WORKER_JS_CORRECT_FORWARD_PATH;
    }
}

至于发生这种情况的原因,链接的答案提供了详细的解释。

似乎其他人也有同样的问题,并在此处发布了解决方案:

我在照搬那个答案

简而言之,解决方案是创建一个控制器,将请求转发到错误的url到正确的url

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class PdfJsRedirectController {
    private static final String WORKER_JS_INCORRECT_PATH = "/APP/PUBLISHED/pdf.worker.js";
    private static final String WORKER_JS_CORRECT_FORWARD_PATH = "forward:/vaadinServlet/APP/PUBLISHED/pdf.worker.js";

    @RequestMapping(value = WORKER_JS_INCORRECT_PATH)
    public String forwardWorkerJsRequestToVaadin() {
        return WORKER_JS_CORRECT_FORWARD_PATH;
    }
}
至于为什么会发生这种情况,链接的答案提供了详细的解释

我认为这与Vaadin插件在Spring boot项目中的工作方式有关

不,这不是Spring Boot附加组件的一般问题。此特定加载项有一个轻微缺陷,即它在此处具有指向js文件的硬编码路径:

您找到的解决方法有助于解决此问题

更好的方法是向附加组件发布补丁,并将路径参数化,或者执行其他适当的更正

我认为这与Vaadin插件在Spring boot项目中的工作方式有关

不,这不是Spring Boot附加组件的一般问题。此特定加载项有一个轻微缺陷,即它在此处具有指向js文件的硬编码路径:

您找到的解决方法有助于解决此问题

更好的方法是向附加组件发布补丁,并将路径参数化,或者执行其他适当的更正