gpt4 book ai didi

java - JSF 中的 PropertyNotWritableException,即使属性是可写的

转载 作者:行者123 更新时间:2023-11-30 09:32:58 25 4
gpt4 key购买 nike

我想知道您是否可以帮助我调试我们遇到的一个问题。我们在 JSF 页面上收到以下错误:

PropertyNotWritableException: /resources/al/template.xhtml @96,112 value="#{cc.attrs.value.editedProperty.value}": The class 'org.company.tpl.template.TemplateString' does not have a writable property 'value'.

这是由 View 中的这一行引起的:

<p:column><p:inputText id="property-value" value="#{cc.attrs.value.editedProperty.value}"/></p:column>

如您所见,该属性在类中是可写的:

@Entity
@DiscriminatorValue("String")
public class TemplateString extends TemplateProperty {
@Column(name = "STRING_VALUE")
private String value;

// ...

public void setValue(String value) {
this.value = value;
}

@Override
public String getValue() {
return value;
}

// ...
}

最奇怪的是,这个错误只发生在生产环境中,而不是在实验室中。生产和实验室都在运行 Glassfish 3.1.2.2。在实验室中,一切都完美无缺。

可能导致此问题的原因是什么?

最佳答案

问题出在继承上。

可能您的 TemplateProperty 类是这样实现的:

public class TemplateProperty {
public Object getValue() {
return some_value;
}
...
}

所以 el 尝试读取 Object getValue() 并尝试写入不存在的 void setValue(Object obj)

我认为这是一个错误,我还不知道解决方法...

关于java - JSF 中的 PropertyNotWritableException,即使属性是可写的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12408847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com