2016-03-02 48 views
2

我有三个Web应用程序的微服务和一个网关,包括用户界面。所以,我想要做的是改变应用程序的每个微服务都有自己的用户界面,网关应该使服务器端包括。使用im Thymeleaf的模板引擎,并执行包括像这样:自己的用户界面与春天和Thymleaf的微服务

<div th:replace="http://localhost:8080/#/organizations"></div>

我的问题是,CSS和JS文件不会从原来的本地主机包括:从服务器8080服务器,而与包括内容本地主机:9090。

这是我的JS和CSS文件以*:8080:

<script th:src="@{webjars/jquery/$jquery.version$/jquery.min.js}"</script>

希望你能理解我的问题,有人可以帮助...

+0

你能发布更多的代码吗?发布“组织”面板代码。我觉得麻烦的发生是因为“组织”面板之外的脚本定义。尝试将其严格包含在此面板中。 ...或者您无法访问微服务源代码? – sanluck

+0

组织来源仅仅是一个普通的HTML makup像 ''

This is a test
并有来自CSS中包括和JavaScript文件就像我的问题 –

+0

我的意思是他们没有纳入要求'HTTP服务器答案://本地主机:8080 /#/ organizations'。或者他们是? – sanluck

回答

2

$ {#httpServletRequest.requestURL}的伎俩......

<link th:href="@{__${#httpServletRequest.requestURL}__webjars/bootstrap/?{bootstrap.version}/css/bootstrap.min.css}" rel="stylesheet" />

现在一切工作正常。

0

我认为你不能如果您将使用本地主机中的资源,则可以实现您期望的行为。您的测试页可以访问上下文9090的本地资源,例如当它试图请求例如 <script th:src="@{webjars/angularjs/$angularjs.version$/angular.min.js}"></script>从9090请求去9090但资源8080. 它会工作,如果你会使用CDN(从互联网)的静态资源。可能this article会对你有所帮助。