在更新模型时,我遇到了一个相当麻烦的JSF(myfaces 1.1,xhtml)问题。例如,这个片段(在数据表的列内)在渲染时效果很好:
<t:inputText value="#{interlocuteur.commercial.nom} " id="pop_out_4365" />
但是在提交时我得到了例外。所以我在调试模式下运行,这里是堆栈:
当我查看代码时,异常发生在那里:
public void setValue(EvaluationContext ctx, Object value)
throws ELException {
throw new PropertyNotWritableException(MessageFactory.get("error.syntax.set"));
}
正如你所看到的,似乎几乎没有机会逃脱它。我认为这可能是当它没有检索到正确的节点并使用不覆盖该方法的默认节点时的默认行为。
所有这些让我猜测这可能是与范围相关的问题:实际上,如果原始数据表结构已存储在请求范围内,那么在提交时它将无法找回它?但至于我的模型,我已经控制它存储在一个会话范围的bean中,所以我认为如果它到达代码的这一部分,更新应该有效。
在同一主题上找到this question,但我的问题似乎有所不同,请提供有关要检查的内容的提示,以确保数据表结构按预期更新,因为我对下一步调查的地方有点想象不到
答案 0 :(得分:0)
不知道为什么,但在提交问题之后,我有一个闪光:snipet中的尾随空间是关键:
<t:inputText value="#{interlocuteur.commercial.nom} " id="pop_out_4365" />
对于outputText没有问题,但inputText不喜欢它。很抱歉打扰你。