我剛剛安裝了Grails渲染插件,並希望用它來生成PDF文件。我創建了簡單的模板,但它沒有任何CSS樣式導出。如果我只是從grails呈現模板,那麼頁面會在我的Web瀏覽器中顯示所有樣式。Grails渲染插件的CSS問題
所以,我的問題是 - 如何在PDF生成過程中正確包含CSS文件?
我的模板:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link rel="stylesheet" href="${resource(dir:'css',file:'main.css')}" />
<link rel="stylesheet" href="${resource(dir:'css',file:'webui.css')}" />
<r:layoutResources/>
<title>Report</title>
</head>
<body>
<div id="content">
<div id="center-container">
<h1><g:message code="default.list.label" args="[entityName]" /></h1>
<table>
<thead>
<tr>
<th class="trip">trip</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>
${tip}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
而且我有風格.odd在我webui.css,但它並不適用於該行。
任何幫助,將不勝感激。
EDIT1:我發現,款式都牽強,如果我這樣做以下列方式:
<link rel="stylesheet" href="my_appname${resource(dir:'css',file:'main.css')}" />
但我不想硬編碼的應用程序名稱(這也是一個基本上下文路徑)。有沒有更好的方式來生成正確的鏈接到一個CSS文件?
謝謝你的回答。它實際上是這樣設置的:開發grails.logging.jul.usebridge = true grails.serverURL =「http:// localhost:8080/$ {appName}」 } –
在'localhost'之前有'http' '?你也可以強制資源使用絕對路徑資源(dir:'css',file:'main.css',absolute:true)來確保插件正確獲取css文件。 – aldrin
是的,在'localhost'之前有'http'。此外,我試圖使用絕對路徑,但在這種情況下,它生成像http:// localhost:8080/appname/css/main.css這是錯誤的,因爲CSS位於appname /靜態/ css/main.css –