2014-12-22 32 views
0

我想提取一個靜態HTML文件,我將在前端JavaScript中用作Underscore模板。我已經嘗試過以下運氣:在Grails中導入一個HTML模板

<link rel="import" href="${resource(plugin: 'my-app-name', dir: 'tpl', file: 'foo.html')}"/> 
<g:external dir="tpl" file="foo.html" type="html" /> 

該文件位於web-app/tpl/foo.html。

最終目標是使用新的HTML導入語法通過JavaScript訪問文件的內容。

回答

0

下工作對我來說,雖然我不知道這是否是最好的解決辦法:在UrMappings.groovy:static excludes = ['tpl/foo.html']。這使鏈接標記在page.gsp <link rel="import" href="${resource(plugin: 'my-app-name', dir: 'tpl', file: 'foo.html')}"/>中工作。

0

爲什麼這個文件在web-app/tpl

這裏是你可以做的導入模板的內容:

  1. 將其移動到grails-app/views/tpl/
  2. 將文件名更改爲_foo.gsp
  3. 在您的視圖中使用<g:render template="/tpl/foo" />來拉入該HTML。

瞭解更多關於渲染標籤here

+0

你好格蘭特,謝謝你的回答。我沒有使用GSP,因爲它是用於Backbone(JavaScript)的Underscore模板。 –

0

您也可以使用元標記。

<meta name="layout" content="main"/> 

而在main.gsp塔必須在視圖/佈局/ main.gsp你可以使用Grails的標籤:

<g:layoutHead/> 

<g:layoutBody/> 

的名稱爲您可以理解layoutHead將頁面的頭部插入此佈局。佈局主體將頁面主體插入到此佈局。

+0

謝謝您的回答Koloritnij。正如我的問題所述,其目的是使用新的HTML導入語法來引入Underscore模板。我在同一個應用程序中有很多GSP視圖,但這是展示HTML新特性的機會。 –