【问题标题】:STS invalid location of tag warning in JSP fileJSP 文件中标签警告的 STS 无效位置
【发布时间】:2016-03-04 16:26:48
【问题描述】:

我在 JSP 文件中收到了一些奇怪的警告:

标签位置无效(h4)

标签位置无效 (p)

这是我的代码:

<!DOCTYPE html>
<html>
<head>
</head>
<body role="document">
    <div class="container container-white">
        <div class="list-group col-sm-12">
        <c:forEach var="recipe" items="${resultList}">
            <a href="<c:url value="/recipe/viewRecipe/${recipe.id}"/>" class="list-group-item">
                <h4 class="list-group-item-heading">${recipe.name}</h4>
                <p class="list-group-item-text">${recipe.description}</p>
            </a>
        </c:forEach>
        </div>
    </div>
</body>
</html>

我使用的是 STS 3.6.4,并且不希望关闭 html 验证,因为它在其他情况下很有帮助,因为我的 html 技能参差不齐。上面的代码实际上与 Bootstrap 示例 Custom Content 相同。我看到了一些关于在 &lt;a&gt; 标签中不允许使用阻塞元素的帖子,但即使是 W3 网站也有类似的例子:

    <aside class="advertising">
    <h1>Advertising</h1>
    <a href="http://ad.example.com/?adid=1929&amp;pubid=1422">
        <section>
            <h1>Mellblomatic 9000!</h1>
            <p>Turn all your widgets into mellbloms!</p>
            <p>Only $9.99 plus shipping and handling.</p>
        </section>
    </a> <a href="http://ad.example.com/?adid=375&amp;pubid=1422">
        <section>
            <h1>The Mellblom Browser</h1>
            <p>Web browsing at the speed of light.</p>
            <p>No other browser goes faster!</p>
        </section>
    </a>
</aside>

我尝试将&lt;section&gt; 标签添加到我的代码中,但随后我在该标签上收到了同样的无效位置警告。

有什么想法吗?

编辑:我忘了提到编写的代码确实可以正常工作,但如果可能的话,我仍然想摆脱警告。我看过提到 Eclipse/STS JSP/HTML 验证的 SO 帖子可能有点不稳定,但在我使用它的 9 个月里我还没有看到过。

【问题讨论】:

    标签: eclipse html jsp eclipse-wtp


    【解决方案1】:

    假设您使用的是 XHTML 或 HTML 4(或更低版本),您的锚标记需要位于标题或段落标记内。其他任何内容都是无效的 HTML。查看大量问题以获得更好的想法。

    编辑: 没有仔细阅读问题。我的猜测是您对 JSP 文件使用了错误的验证器。转到项目 > 属性 > Web 内容设置并将文档类型更改为 HTML5。

    【讨论】:

    • 感谢您的提示。不幸的是,添加该设置并没有消除错误。我的jsp页面都有&lt;!DOCTYPE html&gt;,据我所知应该是HTML5。没什么大不了的,只是不喜欢看到警告。
    • 快速澄清 - 它们是警告,而不是错误。
    • 是的,但无效的 HTML 会将浏览器默认为 quirks 模式,在这种模式下,规则是制定的,样式表无关紧要。
    • 那么,您是说即使这些只是编译警告,在浏览器中查看时也可能会成为问题?我一直在用 FF 和 Chrome 进行测试,没有发现任何问题。我想 IE,尤其是旧版本,可能是个问题?
    • Quirks 模式曾经是一个问题,因为它不遵循跨浏览器的任何设定规则。 IE、FF、GC 等对于它们的 quirks 模式渲染有不同的规则,所以在 FF 上看起来不错的东西会在 IE 中中断。这就是为什么 DOCTYPE 应该始终包含在您的 (x)HTML 文件中,并且您的页面应该始终验证该 DOCTYPE。可以在cs.tut.fi/~jkorpela/quirks-mode.htmlstackoverflow.com/a/1695790/892327 找到一些信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多