我在 zk 中有一个 zul 页面,我只需要刷新中心和其他页面,具体取决于我的菜单。
我的菜单是我从数据库加载的列表
`
<borderlayout>
//the header of my page
<north>
<html><![CDATA[
<h1> <b>My page</h1><h3>page 1</b></h3>
]]></html>
</north>
<west>
//Here I load a list that i consult from the database
<div apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('com.gemalto.segmentation.viewModel.MnoViewModel')">
<listbox id="list" model="@bind(vm.mnos)" width="200px" rows="20">
<listhead>
<listheader label="Operators" sort="auto" />
</listhead>
</listbox>
<style>
div.z-listbox-body .z-listcell {
padding: 2px 5px;
}
</style>
</div>
</west>
//And here i need charge a page depending of the option of my list menu.
<center>
.
.
.
</center>
</borderlayout>
</zk>`
我的java类是:
` 包 com.gemalto.segmentation.viewModel;
import persistence.dao.MnoDAO;
import persistence.db.Mno;
import java.util.ArrayList;
import java.util.List;
import org.zkoss.bind.annotation.Command;
import org.zkoss.zul.Messagebox;
public class MnoViewModel {
private Mno mno = new Mno();
private boolean enabled;
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public Mno getMno() {
return mno;
}
public void setMno(Mno mno) {
this.mno = mno;
}
public List<String> getMnos() {
List<Mno> operator = MnoDAO.getMnos();
List<String> mnos = new ArrayList();
for(Mno Lmnos : operator) {
mnos.add(Lmnos.getMnoName());
}
return mnos;
}
@Command
public void submit(){
if(MnoDAO.getMnoByName(mno.getMnoName()) != null){
Messagebox.show("Mno exist");
}else{
short a=0;
if(isEnabled())
a=1;
mno = new Mno(mno.getMnoName(), mno.getTrigram(), mno.getPrefix(), mno.getPrefixRequired(), mno.getProjectCode(), a);
MnoDAO.createMno(mno);
Messagebox.show("Mno created");
}
}
@Command
public void delete(){
Messagebox.show("deleted");
}
}
` 而且我不知道如何将菜单中的列表转换为重定向到我中心页面的其他页面。
而且我不知道如何只刷新页面的中心