【发布时间】:2015-09-23 06:36:17
【问题描述】:
我想对用户正在做的事情做一点“日志”。我有不同的面板,所有这些都具有 Ajax 功能,例如“onclick”、“onevent”和“onchange”。我的计划是定义一个应用程序范围的字符串数组列表来记录所有内容。
我将以下内容写入 WicketApplication.java
public class WicketApplication extends WebApplication {
private List<String> log = new ArrayList<String>();
@Override
public Class<? extends WebPage> getHomePage() {
//code
}
@Override
public void init() {
//code
}
public List<String> getLog() {
return log;
}
public void setLog(List<String> log) {
this.log = log;
}}
然后在我的一个面板中:
public class Foo extends Panel{
private static final long serialVersionUID = 1L;
private WicketApplication wapp = (WicketApplication) Application.get();
public Foo(String id){
super(id);
}
public void bar(){
List<String> protocol = wapp.getLog();
protocol.add(foo.getBarName() + " has been added to " + selectedKontakt.getObject().getName());
wapp.setLog(protocol);
}
}
在下一个面板中,我尝试创建对 WicketApplication 的新引用。但似乎不一样。
现在我有这些问题:
- WicketApplication 不是独一无二的,因此可用于此类操作吗?
- 我必须为此参加一次会议吗?
- 我什至可以将 Applcation 解析为 WebApplication 吗?因为我在控制台有这个错误
wapp
还有其他方法可以创建应用程序范围的变量吗?
【问题讨论】: