Vaadin、弹簧靴和Vaadin附加组件
在与Spring boot一起的Vaadin 8.0项目中,我尝试使用Vaadin附加组件(WTPdfViewer,)预览PDF文件 我遇到的问题是,当试图查看PDF文件时,插件试图从我认为错误的路径获取相关的javascript资源。因此,它试图从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
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文件的硬编码路径:
您找到的解决方法有助于解决此问题
更好的方法是向附加组件发布补丁,并将路径参数化,或者执行其他适当的更正