【发布时间】:2013-07-24 17:47:15
【问题描述】:
正在尝试创建一个可重用的链接类来扩展链接。我有一个包含大约 7 个菜单项的网页,并且我正在为我的应用程序使用继承。我想创建一个可重用的链接类来缩短我的代码长度..
到目前为止,当我在 oninitialize() 中添加(new Link....)作为匿名类时,链接创建并运行良好。
当我硬编码要转到的新页面的实例并将其分配给“页面”引用,然后将其传递给 setResponsePage( );
问题是,我试图通过构造函数传递对象。当我通过构造函数传递它并尝试前往新页面时,我得到一个会话已过期。
我尝试过对类使用泛型,并且我也尝试过将页面引用声明为参数值。我应该使用某种模型吗?或者有人可以提供一个如何做到这一点的例子吗?我希望能够使用这个自定义链接类为 7 个菜单项添加新链接,每个菜单项都有自己的类...
有效的代码:
add(new Link("userPageLink")
{
public void onClick()
{
pageTitle = "User";
Page next = new UserPage();
setResponsePage(next);
}
});
修改后的代码使页面在点击时过期:
public class CustomLinkToNewPage extends Link
{
private String title;
private Page next;
public CustomLinkToNewPage(String id, String title, Page newPage)
{
super(id);
next = newPage;
this.title = title;
}
@Override
public void onClick()
{
SSAPage.pageTitle = title;
setResponsePage(next);
}
}
【问题讨论】: