2016-10-19 47 views
0

当用户登录时,他们看到的第一个页面是仪表板。在我的DashboardController中,我有一个静态字符串。我想获取该字符串值并将其分配给常用js文件中的变量。该常见的JavaScript文件包含在所有视图页面中。我怎样才能做到这一点,而不使用<g:javascript>标签?从常见的js文件访问Grails控制器变量

回答

0

您可以使用Grails javascript标记。 http://docs.grails.org/3.1.1/ref/Tags/javascript.html

<g:javascript> 

    var myVariable = "${grailsVar}"; 

</g:javascript> 

如果您在别处使用JavaScript变量在JavaScript,请确保该变量之前使用变量在其他地方定义。

+0

的问题是我需要这个代码在我common.js文件,而不是在一个gsp页面。这个common.js文件包含在所有的gsp页面中。 – oxyt

+0

我不知道有什么方法将该代码存入common.js文件。根据我的经验,您在common.js文件之前声明了前面提到的变量。然后你可以用你喜欢的任何方式在common.js文件中使用这里声明的变量。 – elixir

0

假设这是你的控制器。

class DashboardController() { 

//Action 
def dashboard() { 

     def dashboardData = "data which you access on dashboard page goes here" 

    return [data :dashboardData] 
    } 
} 

在你的GSP页面接取数据变量是这样的:

dashboar.gsp

<script> 

    var dashboard = ${data}; 

    console.log(dashboard);`` 

</script> 

感谢

+0

问题是我需要这个代码在我的common.js文件中,而不是在gsp页面中。这个common.js文件包含在所有的gsp页面中 – oxyt

相关问题