如何在jsp中动态生成规范标记

时间:2016-02-17 05:42:08

标签: jquery jsp seo canonical-link canonicalization

需要在jsp中添加规范标签

<link rel="canonical" url="http://www.example.com"/>

但我不想硬编码网址值。

我怎样才能实现这一点。

我尝试过使用数据绑定技术但在视图源中, 链接标记显示为

<link rel="canonical" href="" data-bind="attr:{href: ko.toJS($root.seoURLCanonical)}"/>

而不是

<link rel="canonical" url="http://www.example.com"/>

在检查时我们可以看到规范的链接标签为

<link rel="canonical" href="http://www.example.com" data-bind="attr:{href: ko.toJS($root.seoURLCanonical)}"/>

1 个答案:

答案 0 :(得分:1)

您可以设置id代码的html并将ViewModel附加到其中:

简单示例:

<html id="htmlTag">
<head>
    <script src="<c:url value='/static/js/knockout-3.4.0.js' />"></script>
    <script src="<c:url value='/static/js/jquery-1.10.2.js' />"></script>

    <link rel="canonical" data-bind="attr:{url: seoURLCanonical}"/>
</head>
<body>
<script type="text/javascript">
    $(function () {
        var viewModel = {
            seoURLCanonical: "http://www.example.com"
        };

        ko.applyBindings(viewModel, document.getElementById("htmlTag"));
    });
</script>
</body>
</html>

在DOM检查器中,您将看到:

enter image description here