加载新模板时如何调用javascript函数?

时间:2018-09-04 21:23:05

标签: javascript jsp spring-framework-beans

我正在使用spring框架。我的项目是“ Maven项目”。

//This is a function inside my navigator.jsp file
function selectNavigator(id) {
    var color = "";
    var colorSelected = "rgba(80,165,219)";
    $("#nav-beacons").css("background-color", color);
    $("#nav-messages").css("background-color", color);
    $("#nav-locations").css("background-color", color);
    $("#nav-analytics").css("background-color", color);
    $("#nav-company").css("background-color", color);
    $("#nav-users").css("background-color", color);
    $(id).css("background-color", colorSelected);
}

此功能以特定的颜色更改所选项目的背景,同时使其余导航项目保持不变的颜色。

这是我的模板...

<definition name="mainTemplate" template="/WEB-INF/templates/dashboard/index.jsp">
    <put-attribute name="title" value="Home" />
    <put-attribute name="heading" value="Home" />
    <put-attribute name="onLoad" value="selectNavigator('nav-users')" />
    <put-attribute name="header"    value="/WEB-INF/templates/dashboard/header.jsp" />
    <put-attribute name="body">
        <definition template="/WEB-INF/templates/dashboard/body.jsp">
            <put-attribute name="navigator" value="/WEB-INF/templates/dashboard/navigator.jsp" />
            <put-attribute name="body_content" value="" />
        </definition>
    </put-attribute>
    <put-attribute name="footer"    value="/WEB-INF/templates/dashboard/footer.jsp" />  
</definition>

我将我的“ selectNavigator”功能称为“ onload”,但它不起作用。而且我不知道为什么它不起作用。

2 个答案:

答案 0 :(得分:0)

我可以在这行看到语法错误

 <put-attribute name="onLoad" value="selectNavigator("nav-users" />

替换为

 <put-attribute name="onLoad" value="selectNavigator('nav-users')" />

这应该可以解决问题。

答案 1 :(得分:0)

我会尝试

<put-attribute onload="selectNavigator('nav-users')" />