在tapestry中使用自定义创建的组件

时间:2015-06-04 14:09:35

标签: java tapestry

我最近开始学习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文件在它们对应的资源包中。我的问题是,为什么组件文本没有显示?

1 个答案:

答案 0 :(得分:0)

一切看起来都不错,所以它只是一个绝对验证MyComponent.tml位于正确位置并且在运行时在类路径上可见的情况。例如,这可能是IDE配置的问题。

对于组件类org.example.MyComponent,典型的位置是src / main / resources / org / example / MyComponent.tml,但您必须确保IDE正在src / main / resources中导出文件。