我有一个运行良好的SpringMVC JSP,部署到Jetty。它包含许多从战争加载的脚本,css等。我正在使用Chrome最新版本进行测试。
我的上下文根被定义为/ MYFIRM / myapplication。
现在我们有业务要求将一些但不是所有的jsps映射到/ MYFIRM / admin / myapplication /(添加管理部分)
所有这些JSP都在一个控制器中,我添加了
@Controller
@RequestMapping("/admin")
现在,页面源加载正常,但找不到脚本和其他资源。
资源定义如下: < link rel =“stylesheet”href =“< c:url value ='/ css / demo.css'/>”> 和 < script type =“text / javascript”src =“js / common / UndoBuffer.js”>< / script>
当我查看页面源时,它在资源URL中有管理员。
现在,我尝试将资源映射添加到我的servlet xml
<mvc:resources mapping="/admin/js/**" location="/js/" />
<mvc:resources mapping="/admin/css/**" location="/css/" />
但这不起作用。事实上,当我查看页面源时,管理员就不见了,当我点击页面源中嵌入的URL时(管理员被正确删除)它会在浏览器窗口中加载正确的资源。
但是当我查看开发者控制台时,它仍会在网址中显示管理员并给我一个错误。
我已经尝试将我的资源移动到一个名为admin的新子目录,该目录有效,但还有其他问题
有没有人有任何想法,我可能会失踪?
答案 0 :(得分:0)
I had the same problem (web app deployed on Tomcat). What worked for me was adding the static resources to my web.xml
class Box<S>: HasValue {
var val: S?
}
let boxOfString = Box<String>()
boxOfString.val = "hello world"
let boxOfInt = Box<Int>()
boxOfInt.val = 12
merge(boxOfString, into: boxOfInt) // << compile error
let boxOfWords = Box<String>()
boxOfWords.val = "What a wonderful world"
merge(boxOfString, into: boxOfWords)
print(boxOfWords.val) // Optional("hello world")
Note that default means that the default servlet should handle the static resource(s).