我正在使用jsp / jstl / spring动态生成css和js。如何将此结果放置在头部的链接标签中。不在头部的脚本标签中
问题内容:
我在jsp中生成css,输出为:
<style type="text/css">
body{background: #ffffff url('<c:url value='/resources/images/logo/logo_small.png'/>') no-repeat scroll center center}
</style>
现在,我使用以下命令在jsp中调用此代码:
<%@include file="/WEB-INF/common/css/sitemap_common.jsp" %>
<%@include file="/WEB-INF/common/css/index.jsp" %>
它可以工作,并且输出是这样的:
<head>
<style type="text/css">
body{background: #ffffff url('<c:url value='/resources/images/logo/logo_small.png'/>') no-repeat scroll center center}
</style>
</head>
但是我需要的是
<head>
<link rel="stylesheet" href="/css/mycss.css" type="text/css">
</head>
这是一个已完成的项目,具有100的CSS生成jsp。我需要更新以获得更好的性能。链接标记将在浏览器中被捕获。但是脚本标签会每次加载。
问题答案:
我做到了。
我创建了一个新路由/ resource / css | js,我使用了内部资源视图解析器-(文件夹)。
我的链接网址像 /resource/css/qtn/page1.css 一样。
在控制器/ resources / {中, 键入 } / { page } .css。
在这里,我得到 类型 和 页面 值,并在我的 动态jsp 页面中使用它来获得结果。
为了安全起见,我 检查了网址 是否来自我自己的页面。
提示:
使用 内部资源视图解析器 时, 将页面值直接传递到资源url 时将引发错误,因为有时页面url将为 / page1 / block1,
因此我们的控制器将引发错误。
为了解决这个问题,我将页面值传递为 /resource/css/qtn/page1.css?sub=${page} 。
在controller中,我们可以轻松地获取此 子 值并将其作为 模型 发送到我们的动态jsp 。