我最近开始学习Tapestry框架。我正在关注创建自定义组件并在代码中使用它的书籍示例。由于某种原因,组件中的文本未显示(我只看到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文件在它们对应的资源包中。我的问题是,为什么组件文本没有显示?
答案 0 :(得分:0)
一切看起来都不错,所以它只是一个绝对验证MyComponent.tml位于正确位置并且在运行时在类路径上可见的情况。例如,这可能是IDE配置的问题。
对于组件类org.example.MyComponent,典型的位置是src / main / resources / org / example / MyComponent.tml,但您必须确保IDE正在src / main / resources中导出文件。