我尝试使用tapestry4将项目升级到tapestry5。我正在寻找一个在tapestry5中使用JSCookMenu的组件。
答案 0 :(得分:0)
你在Tapestry 4中使用JSCookMenu吗?你究竟需要什么?如果它只是菜单选项在T5页面中调用代码所需的链接,那么你应该在页面中注入一个ComponentResources,这样你就可以创建你需要的链接并将它们添加到一个javascript片段上。页。您可以使用注入的RenderSupport实例添加Javascript来创建菜单变量以及在页面的setupRender()方法内调用cmDraw,例如:
@Environmental
private RenderSupport renderSupport;
@Inject
private ComponentResources resources;
void setupRender() {
renderSupport.addScript("var myMenu = [ ['icon', 'title', '%s', 'target', 'desc'], ['icon', 'title', '%s', 'target', 'desc'] ];",
resources.createEventLink("event1"), resources.createEventLink("event2"));
renderSupport.addScript("cmDraw('menuID', myMenu, 'hbr', cmThemeOffice);");
}
public void onEvent1() {
//this method gets called from the first option
}
public void onEvent2() {
//this method gets called from the second option
}
要在页面中包含JSCookMenu.js文件,请在页面类中添加注释:
@IncludeJavaScriptLibrary("JSCookMenu.js")
public class MyPage {...}
需要将JSCookMenu.js作为资产添加到您的T5应用程序中。