【问题标题】:can't edit my h:datatable无法编辑我的 h:datatable
【发布时间】: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 请求或会话是否有作用域?同时显示数据加载逻辑。仅凭目前的少量信息,不可能确定问题的根本原因。

标签: jsf richfaces


【解决方案1】:

我添加了一个错误。

richfaces 的 a4j:keepAlive 标签在 f:view 之前。 并且没有正确读取。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多