我的数据库中有一个 ZK 提供程序应用程序,并且我有 DAO 来返回数据库的所有名称。
我在 ZK 中有这个 View :
<zk>
<window id="Mnos" border="normal" mode="modal" width="320px"
apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('operator')">
<listbox model="@load(vm.provider)" onClick="@command('provider', provider = each)"/>
</window>
</zk>
我需要当用户单击某个提供程序时,保存一个 session 变量以在我的应用程序中使用,因为我有一些服务,当我创建服务时,我需要创建与用户在菜单中选择的提供程序相关的服务,并且我需要创建工作人员,并且我需要创建一个与用户在菜单中选择的提供程序相关的工作人员,
我有这个java类:
public class operator {
Collection<String> provider = MnoDAO.getAllProvidersByName();
public Collection<String> getMno() {
return mno;
}
@Command
public void provider(@BindingParam("provider") String provider){
Messagebox.show("Hola ... "+mnoList);
}
}
我的主要问题是 each
始终为空,其次我不知道如何保存 session 变量以在所有应用程序中使用,并且当我选择其他提供程序时可以更改此变量。
有人可以帮助我吗?
最佳答案
ZK提供了Session
对象,可通过Sessions
访问静态 setter/getter 。这可以在 ZK 生命周期的任何地方(任何 ZK 托管线程)使用。
String name = "myCoolVariable";
MyObject originalValue = getMyCoolVariable();
Session session = Sessions.getCurrent();
session.setAttribute(name, originalValue);
...
if (session.hasAttribute(name)) {
MyObject retrievedValue = (MyObject) session.getAttribute(name);
}
关于java - 带菜单的 ZK session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19105738/