变量不';t从java代码传递到zul

变量不';t从java代码传递到zul,java,zk,Java,Zk,我尝试在创建zul时将参数传递给它: .zul文件: <window xmlns="http://www.zkoss.org/2005/zul" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:zk="http://www.zkoss.org/2005/zk" xmlns:

我尝试在创建zul时将参数传递给它:

.zul文件:

<window xmlns="http://www.zkoss.org/2005/zul" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:h="http://www.w3.org/1999/xhtml" 
        xmlns:zk="http://www.zkoss.org/2005/zk"
        xmlns:ca="http://www.zkoss.org/2005/zk/client"
        xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd "
        border="normal"
        closable="false"
        position="center,center"
        width="383px"
        height="270px"
        onCancel="self.detach();"
        id="decisionCommentWindow"
        title="${c:l('approvalTaskWindow.title')}"
        use="handlers.ZulHandler">


    <zk if="${isManufacturingKey}">

        <checkbox id="checkbox_id" label="check"  />

    </zk>

</window>

创建zul的java代码:

    ...
    Map args = new HashMap<String, Boolean>();
    Boolean isManufacturing = true;
    args.put("isManufacturingKey", isManufacturing);
    ZulHandler window = Preconditions
             .checkNotNull((ZulHandler) Executions.createComponents(
                            "/decision_comment_window.zul", null, args));
    window.setTitle(decisionModel.getName() + " decision");
    if (isManufacturing) {
           Checkbox checkbox = (Checkbox) Path
                        .getComponent("/decisionCommentWindow/emergency_change_checkbox_id");
           checkbox.setChecked(workflow.getEmergencyChange());//I have Null pointer here  because checkbox is null
    }
             ...
。。。
Map args=new HashMap();
布尔值isManufacturing=true;
参数put(“isManufacturingKey”,isManufacturing);
ZulHandler窗口=前提条件
.checkNotNull((ZulHandler)Executions.createComponents(
“/decision_comment_window.zul”,null,args);
setTitle(decisionModel.getName()+“decision”);
if(制造业){
复选框=(复选框)路径
.getComponent(“/decisionCommentWindow/emergency_change_checkbox_id”);
checkbox.setChecked(workflow.getEmergencyChange());//我在这里有空指针,因为checkbox是空的
}
...
我这里有空指针

你能帮我吗?

感受一下不同之处:

错误的变体

<zk if="${isManufacturingKey}">
<zk if="${arg.isManufacturingKey}">

右变体

<zk if="${isManufacturingKey}">
<zk if="${arg.isManufacturingKey}">


这个问题的原因可能是使用zk框架的旧版本-我不知道。

如果您打算对原始问题进行更正,您应该编辑您的问题,而不是将其作为答案发布。当前的答案是否足够完整?可能是重复的