Tapestry5 - 在DOM中显示树组件

时间:2014-07-28 09:26:42

标签: javascript tapestry

我正在使用Tapestry 5和此组件来显示文件夹列表:

http://tapestry.apache.org/5.3/apidocs/org/apache/tapestry5/corelib/components/Tree.html

问题是DOM中只显示了根元素,因此我无法将javascript侦听器应用于元素的其余部分。我需要。

你知道该怎么做吗?

1 个答案:

答案 0 :(得分:0)

查看咖啡脚本here我看不到任何客户端事件被触发。

您可能必须使用nodeSelectednodeUnselected事件服务器端通过JavascriptSupport.addScript(...)

发送要在客户端上执行的脚本

例如:

public class MyPage {
   @Inject JavaScriptSupport jss;
   @InjectComponent Tree tree;

   void onNodeSelected(String nodeId) {
      jss.addScript(InitializationPriority.LATE, "alert('%s.%s selected');", tree.getClientId(), nodeId);
   }
   void onNodeUnselected(String nodeId) {
      jss.addScript(InitializationPriority.LATE, "alert('%s.%s un-selected');", tree.getClientId(), nodeId);
   }
}