Использование пользовательских компонентов в гобелене
Недавно я начал изучать каркас Гобелена. Я следовал примеру книги о создании пользовательского компонента и использовании его в коде. По какой-то причине текст из компонента не отображается (я вижу только текст 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.