当前位置: 首页 > 知识库问答 >
问题:

Primefaces:accordionPanel中的可编辑对象,Dynamic=True

俞衡虑
2023-03-14

我试图实现的功能,我生成的选项卡根据面板动态根据列表。

列表是指某个对象,例如人

现在,属性对应于每个人,我在表单的每个选项卡中显示。值被正确加载,但是当我编辑这些值时,我不会在支持bean中得到更新的值,我只得到旧值。

谁能解释一下原因吗?

这是代码。

人客体

public class Person {

    String name;

    //getter setter

    @Override
    public String toString() {
        return name;
    }
}

背豆

@ManagedBean(name = "editor")
public class EditorBean {

    private List<Person> persons = new ArrayList<Person>();

    @PostConstruct
    void init() {
        persons.add(new Person("dhruv"));
        persons.add(new Person("tarun"));
    }

    public void testAction() {
        System.out.println(persons);
    }

    // Getter Setter*****************//
    public List<Person> getPersons() {
        return persons;
    }

    public void setPersons(List<Person> persons) {
        this.persons = persons;
    }
}

XHTML代码:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui">

<h:head>
</h:head>
<h:body>
    <h1>Hello World PrimeFaces</h1>

    <h:form>
        <p:accordionPanel value="#{editor.persons}" var="person" dynamic="true">

            <p:tab title="#{person}">
                <p:inputText value="#{person.name}"></p:inputText>
            </p:tab>

        </p:accordionPanel>

        <p:commandButton action="#{editor.testAction()}" value="testAction"></p:commandButton>
    </h:form>

</h:body>
</html>

当我使用dynamic=“false”运行相同操作时。这个很好用。但在我的真实场景中,我有很多数据,我无法一次性绘制,这就是为什么我想使用dynamic=true。

如果不是通过dynamic=true,有人能解释一下如何实现这一点吗??

共有1个答案

孟鹏海
2023-03-14

您的手风琴中有过时的值的原因是动态手风琴默认为ache="true"。此属性导致手风琴无法重新加载新的/更新的值。要在标签打开时导致ajax刷新,请在手风琴上设置ache="false"

 类似资料:
  • 我试图在JavaFX中创建一个可编辑的TableView。我从2个连接的表中获取数据,所以我在TableView中使用对象。 我已经将表和列设置为可编辑,,我尝试对列的执行操作(例如,类似于textfield)。 我还没能解决这个问题。 那么,如何使包含对象的单元格可编辑呢?谢谢你的回答

  • 我写了这段代码,一个阻塞队列的实现: 1.我尝试创建两个线程,并强制它们向队列中添加一些数字,然后将其删除。不幸的是,似乎每个线程都有自己的对象。如何更改代码,使两个线程都处理同一对象,并同步向同一阻塞队列添加/删除? 2.我是否正确地编写了出队列函数(这样,当一个线程从队列中删除最后一个数字并且队列大小现在为零时,其他线程将等待队列通知它们)? 这是我的测试器: 这是输出:

  • 6.2 操作编辑对象 与 Vim 可视编辑的有关的几个概念对象是缓冲(buffer)、窗口(window)与标签页( tabpage),还有目前较少用到的在命令行参数提供的文件列表(argument list)。VimL 也提供了许多函数以供脚本来控制这些编辑对象。 编辑对象背景知识 很早期的 vi 一次只能编辑一个文件。不过从命令行启动时可以提供多个文件名参数, 首先编辑第一个文件,编辑完后可以

  • 假设我让玩家创建团队并创建团队调用团队类的新实例,该实例具有称为成员的数组列表。 现在在主课堂上,我如何在被邀请后将球员添加到团队中?我在team类中有一个addPlayer方法,只需将它们添加到arraylist中,但是如果teams类当前有多个实例(其他玩家创建了团队),它怎么知道要加入哪一个呢? 我在teamLeader的Teams类中有一个变量,在创建实例时设置该变量,如果这可以帮助我编辑

  • 这里需要一些帮助来消除这个错误。这是代码-#是运行出色的原始代码,我试图适应: 以下是错误消息: 文件“”,第14行,y=df.loc[df['Adj Close']] 文件"C:\用户\apros\Anaconda3\lib\site-包\熊猫\核心\indexing.py",第1424行,在getitem返回自己。_getitem_axis(maybe_callable,轴=轴) 文件“C:\

  • 我们使用Wordpress函数$wpdb进行了一个讨厌的数据库调用- 在PHP中收到结果后,我们需要对结果进行一些更改。 那么,有谁能告诉我如何: 1) 从get_results()返回的对象中删除特定行。 2) 更改返回对象中特定行中特定列的值。 即如果返回的对象是$nastyData,我们需要: 1)从$nastyData中删除特定行 2) 更改$nastyData中特定行中特定列的值,例如$