找不到类型为"html"的错误标记



我正在扩展一个类SomeDetailPage扩展SomePage反过来扩展网页。现在这个SomeDetailPage工作得很好,没有问题。但是我已经创建了一个新的类,并扩展了它的一些功能,当我试图部署它时,我得到了错误Markup . markupnotfoundexception:组件"AboutUs"的标记类型为"html"。打开org.apache.wicket.util.resource的调试消息,以获得所有尝试的文件名列表:[Page class = AboutUs, id = 11, version = 0]。我检查了html是否没有复制到有AboutUs.class的文件夹中,但它在那里,检查了命名是否不同,没有用处。我找不到为什么我不能运行它,甚至找不到原因,所以我至少可以尝试一个解决方案。我使用Wicket 1.4.8

我不确定您是否已经这样做了,但是您需要为新类定义标记,并且还需要指定标记层次结构。因此,如果您的新类名为about .java,那么about .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/>

您应该将wicket与maven原型一起使用,它为您解决这个问题奠定了基础。

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

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

相关内容

  • 没有找到相关文章

最新更新