相关疑难解决方法(0)

如何将选定的行传递给dataTable中的commandLink或ui:repeat?

我在JSF 2应用程序中使用Primefaces.我有一个<p:dataTable>,而不是选择行,我希望用户能够直接对各行执行各种操作.为此,我<p:commandLink>在最后一栏中有几个.

我的问题:如何将行ID传递给命令链接启动的操作,以便我知道要对哪一行进行操作?我尝试使用<f:attribute>:

<p:dataTable value="#{bean.items}" var="item">
    ...
    <p:column>
        <p:commandLink actionListener="#{bean.insert}" value="insert">
            <f:attribute name="id" value="#{item.id}" />
        </p:commandLink>
    </p:column>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)

但它总是产生0 - 显然在f呈现属性时行变量不可用(当我使用固定值时它可以工作).

有人有替代解决方案吗?

datatable jsf parameter-passing commandlink jsf-2

97
推荐指数
3
解决办法
17万
查看次数

如何动态添加JSF组件

我可以动态添加JSF组件吗?我需要一个带有按钮的表单,该按钮应该<h:inputText>在表单中添加一个.这可能吗?

我知道这应该可以在JavaScript中以某种方式实现.有人知道如何在JSF中这样做吗?我认为主要的问题是如何通过获取或设置新输入的值#{value}.

jsf dynamic-forms jsf-2

29
推荐指数
1
解决办法
3万
查看次数

我应该如何以及何时从数据库中为h:dataTable加载模型

我有一个数据表如下:

<h:dataTable value="#{bean.items}" var="item">
Run Code Online (Sandbox Code Playgroud)

我想用从服务方法获得的数据库中的集合填充它,以便在初始(GET)请求期间打开页面时立即显示它.我什么时候应该打电话给服务方法?为什么?

  1. 在加载页面之前调用它.但是怎么样?
  2. 在页面加载期间调用它.怎么样?
  3. 在getter方法中调用它.但它被多次调用.
  4. 别的什么?

datatable getter jsf loading

13
推荐指数
1
解决办法
8062
查看次数