【问题标题】:How to store input data from JSF page into Managed Bean [duplicate]如何将 JSF 页面中的输入数据存储到托管 Bean [重复]
【发布时间】:2014-02-13 07:27:26
【问题描述】:

我有带有数据表的 JSF 页面。在这个数据表中,我用来显示 inputtext 字段。我的问题是如何从 JSF 获取所有 inputfields 数据以及如何将传入的 inputfield 数据存储到数组或列表中。

我的代码是:

JSF 文件:

    <h:dataTable value="" var="" >
        <h:column>
                <h:inputText value="#{storingManagedBean.list}"/>
        </h:column>
    </h:dataTable>       

storingManagedBean.java:-

public class StoringManagedBean{

  public Float[] getList() {
    return list;
  }

  public void setList(Float[] list) {
    this.list = list;
  }
}

在上面的代码中,我得到了 null 或空值。

【问题讨论】:

  • JSF 已经透明地做到了这一点。你到底面临什么问题?你的代码在哪里?如果 JSF 无法完成它所设计的工作,那么您一定是在其中犯了一些错误。花一些时间阅读一本像样的 JSF 书籍/教程也是值得的,因为您似乎错过了一些重要的基础知识。
  • 1) 你的storingManagedBean.list 应该是字符串。您可以在提交操作方法中将该字符串转换为数组或列表(如果可能)。 2)var 代表对象=列表项(为其构建dataTable)并将您的输入存储在该对象的成员数据中。
  • 感谢 Vasil Lukach 重播我的帖子

标签: jsf-2 jsf-2.2


【解决方案1】:

我认为您为 StoringManagedBean 提供的代码不完整。是什么使该类成为托管 Bean?列表在哪里定义?你能试着把它变成一个字符串吗?

试试这个:

@ManagedBean
@RequestScoped
public class StoringManagedBean{
  String list; 
  public String getList() {
    return list;
  }

  public void setList(String list) {
    this.list = list;
  }
}

【讨论】:

  • 投反对票有什么原因吗?
猜你喜欢
  • 1970-01-01
  • 2015-03-25
  • 2011-02-13
  • 2014-01-22
  • 2012-09-09
  • 2016-07-09
  • 2017-06-14
  • 1970-01-01
  • 2014-07-01
相关资源
最近更新 更多