2

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

4

1 回答 1

1

我做到了这一点。

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

我的链接网址类似于/resource/css/qtn/page1.css

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

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

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

暗示 :

在使用内部资源视图解析器时,当您将页面值直接传递给资源 url时,它会抛出错误,因为有时页面 url 将是/page1/block1,因此我们的控制器会抛出错误。

为了解决这个问题,我将页面值作为/resource/css/qtn/page1.css?sub=${page}传递。

在控制器中,我们可以轻松地将这个子值作为模型发送到我们的动态 jsp 。

于 2013-01-16T07:44:40.463 回答