【发布时间】:2010-04-07 09:30:28
【问题描述】:
我有这个代码:
<h:form>
<rich:dataTable value="#{my.lreqs}" var="req"
id="reqs" width="630px" >
<rich:column label="Value" styleClass="schColL" width="90px"
style="text-align:center">
<f:facet name="header">
<h:outputText value="#{my.colValue}" />
</f:facet>
<h:inputText value="#{req.value}" >
</h:inputText>
</rich:column>
</rich:dataTable>
<h:commandButton value="Save"
action="#{my.saveChanges}" ></h:commandButton>
</h:form>
这是我的豆子:
private List<Detail> lreqs;
public void setLreqs(List<Detail> lreqs) {
this.lreqs = lreqs;
}
public void saveChanges() {
firstNewValue = lreqs.get(0).getValue();
}
/**
* @return the lreqs
*/
public List<Detail> getLreqs() {
if (currentJob != null && lreqs==null) {
lreqs = (List<Detail>) jobsBDataDAO.findByJobBooking(currentJob);
}
return lreqs;
}
但是当我单击保存时 - req.value 字段中的新值没有被保存! 为什么?
【问题讨论】:
-
请编辑您的问题以包含
saveChanges()方法,该方法显示您如何得出未保存新值的结论。 -
Detail类中有setValue()方法吗?
-
你是怎么断定新值没有被保存的?
firstNewValue是否为空?还是抛出了一些异常?你应该包括你得到的任何异常和堆栈跟踪,因为它们包含非常有价值的信息。 -
我看到该值是原始值,尽管我在页面中更改了它并单击了提交
-
bean 请求或会话是否有作用域?同时显示数据加载逻辑。仅凭目前的少量信息,不可能确定问题的根本原因。