繁体   English   中英

找不到“html”类型的错误标记

[英]Getting an error Markup of type 'html' not found

我正在扩展一个 class SomeDetailPage,它扩展了 SomePage,而后者又扩展了 WebPage。 现在这个 SomeDetailPage 工作正常并且没有问题。 但是我创建了一个新的 class 并扩展了它的一些功能,当我尝试部署它时,我收到错误 org.apache.wicket.markup.MarkupNotFoundException:找不到组件“AboutUs”的“html”类型的标记。 启用 org.apache.wicket.util.resource 的调试消息以获取所有已尝试文件名的列表:[Page class = AboutUs,id = 11,version = 0]。 我检查了 html 是否没有复制到包含 AboutUs.class 的文件夹中,但它在那里,检查命名是否不同,没有用。 我找不到为什么我无法运行它,甚至找不到原因,以便我至少可以尝试一种解决方法。 我正在使用 Wicket 1.4.8

我不确定您是否已经这样做了,但是您需要为新的 class 定义标记,并且还需要指定标记层次结构。 因此,如果您的新 class 被称为 AboutUs.java,那么 AboutUs.html 将包含 -

<?xml version="1.0" encoding="UTF-8"?>
<wicket:extend xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">

    <body ...>
    ...
    </body>
</wicket:extend>

您还需要修改 SomeDetailPage 的标记以包含以下标记,在应该插入新标记的位置

<wicket:child/>

您应该将检票口与maven 原型一起使用,它可以帮助您解决这个问题。

假设您使用 maven(您应该这样做),源文件夹(如 src/main/java)不是资源文件夹(如 src/main/resources)。 因此,如果您需要将资源从源文件夹复制到 output,则需要将源文件夹添加为 pom.xml 中的资源文件夹:

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>
</build>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM