'正在尝试创建一个扩展 Link 的可重用链接类。我有一个包含大约 7 个菜单项的网页,并且我正在为我的应用程序使用继承。我想创建一个可重用的链接类来缩短我的代码长度..
到目前为止,当我在 oninitialize() 中添加(new Link ....)作为匿名类时,链接创建并运行良好。
当我硬编码要转到的新页面的实例并将其分配给“页面”引用,然后将其传递给 setResponsePage(); 时,自定义链接类(这是基本页面的内部类)工作正常;
问题是,我试图通过构造函数传递对象。当我通过构造函数传递它并尝试前往新页面时,我得到一个会话已过期。
我已经尝试为该类使用泛型,并且我还尝试将 Page 引用声明为参数值。我应该使用某种模型吗?或者有人可以提供一个如何做到这一点的例子吗?我希望能够使用此自定义链接类为 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);
}
}