我正在尝试使用c:set设置bean的属性。我在页面顶部有这样的标签:

<c:set value="true" target="#{patientChartManager}" property="editingForm" />


Bean字段/方法是这样的:

public Boolean getEditingForm() {
    return editingForm;
}


public void setEditingForm(Boolean editingForm) {
    this.editingForm = editingForm;
}


但是,当页面尝试加载时,出现以下异常:

java.lang.IllegalArgumentException: argument type mismatch sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

我尝试将布尔对象更改为布尔基本类型。同样的问题。

但是,如果我将标签更改为此,它会起作用:

<c:set value="#{'1' eq '1'}" target="#{patientChartManager}" property="editingForm" />


真的#{'1'eq'1'}可以是任何得出true的测试。

最终它可以满足我的需求,但感觉就像是日食和日食增加了一个警告,那就是测试将永远是正确的。

谢谢!

最佳答案

你有没有尝试过:

<c:set value="#{true}" target="#{patientChartManager}" property="editingForm" />

10-08 00:08