Playframework - 在main.html之外附加JS

时间:2011-06-07 03:55:03

标签: javascript playframework

在Play Framework中,它通常有main.html,代码如下:

<html>
    <head>
        <title>#{get 'title' /}</title>     
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <link rel="stylesheet" type="text/css" media="screen" 
            href="@{'/public/stylesheets/main.css'}" />
        <link rel="shortcut icon" type="image/png" 
            href="@{'/public/images/favicon.png'}" />
    </head>
    <body>
        #{doLayout /} 
    </body>
</html>

因此,当我有一个像index.html这样的视图时,它通常以

开头
#{extends 'main.html' /}

index.html仅包含body.html中的正文部分(#{doLayout /})。

我想添加javascript取决于页面加载(在页面coffee.html我想加载water.js例如)。现在我必须在main.html中添加它并将其全部加载到应用程序中。

1 /如何从扩展视图(index.html)加载?

2 /另外,如何将baseUrl值(如Zend框架)传递给javascript变量?

1 个答案:

答案 0 :(得分:2)

您可以使用set和get标签执行此操作。

如果你的main.html是这样的

<title>#{get 'title' /}</title>     
#{get 'moreScripts' /}

然后在您的不同视图中,您可以设置不同的JS。例如,index.html可能没有JS,但coffee.html将具有

#{set 'moreScripts'}
    <script src="@{'/public/javascripts/yourscript.js'}" type="text/javascript" charset="utf-8"></script>
#{/set}