Использование пользовательских компонентов в гобелене

Недавно я начал изучать каркас Гобелена. Я следовал примеру книги о создании пользовательского компонента и использовании его в коде. По какой-то причине текст из компонента не отображается (я вижу только текст hello world). Вот файлы.java и tml:

public class Index
{
  public Index() {

  }

    public String getHello()
    {
        return "Hello world!";
    }
}

Индекс TML:

<html xmlns:t="http://tapestry.apache.org/schema/
tapestry_5_3.xsd">
<head>
<title>Tapestry 5 Book</title>
</head>
<body>
<t:MyComponent/>

<h1> ${hello} </h1> 


</body>
</html>

MyComponent.java

public class MyComponent {

    public String getStuff()
    {
        return "Random stuff";
    }
}

MyComponent.tml

<span> ${stuff} </span>

Я также хотел бы сказать, что файлы.java находятся в соответствующих пакетах (страницы и компоненты в main/java...), а файлы.tml находятся в соответствующих пакетах в ресурсах. Мой вопрос: почему не отображается текст компонента?

1 ответ

Все выглядит хорошо для меня, так что на самом деле это просто случай полной проверки того, что MyComponent.tml находится в нужном месте и виден в пути к классам во время выполнения. Это может быть проблема с конфигурацией IDE, например.

Для класса компонента org.example.MyComponent типичным местом является src/main/resources/org/example/MyComponent.tml, но вы должны убедиться, что ваша IDE экспортирует файлы в src / main / resources.

Другие вопросы по тегам