我正在使用jsp / jstl / spring动态生成css和js。如何将此结果放在head部分的链接标记中。不在头部的脚本标签中

时间:2013-01-10 13:02:19

标签: spring jsp model-view-controller spring-mvc render

我在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。我需要更新以获得更好的性能。链接标记将在浏览器中捕获。但每次都会加载脚本标记。

1 个答案:

答案 0 :(得分:1)

我实现了这个目标。

我创建了一个新的route / resource / css | js,我使用内部资源视图解析器 - (文件夹)。

我的链接网址像 /resource/css/qtn/page1.css 一样嘶哑。

在控制器/resources/{type}/{page}.css。

在这里,我获得类型页面值,并在我的动态jsp 页面中使用它来实现我的结果。

为安全起见我检查了网址是否来自我自己的网页。

提示:

使用内部资源视图解析程序时,当将页面值直接传递给资源网址时会抛出错误,因为有时页面网址会 / page1 / block1 < / strong>所以我们的控制器会抛出错误。

要解决此问题,我将页面值传递为 /resource/css/qtn/page1.css?sub = $ {page}

在控制器中,我们可以轻松地将 sub 值导入并以模型的形式发送到动态jsp。