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

Primefaces:OrderList用字符串而不是对象填充后端列表

昝成弘
2023-03-14

在我的后端视图中,我列出了一些POJO:

BackingView。JAVA

@Getter @Setter private List<SomePOJO> pojoList = ...

一些ojo.java

@EqualsAndHashCode(callSuper = false, of = {"id"})
public class RechtsaktFallgeschichte implements Serializable {

    private static final long serialVersionUID = 1L;
    
    @Getter @Setter private Long id;
    @Getter @Setter private Long date;
    @Getter @Setter private Date name;
    ....
    
  @Override
  public String toString() {
      return String.format("%s[id=%s]", getClass().getSimpleName(), id);
  }

  //making a readable string-representation of the object to display on the orderList
  public String toStringOrderlistDisplay() {
      return "Pojo with id " + id + "and so on... " 
  }

这份清单在各方面都如你所料。最近,我想在我的前端添加一个功能,允许用户手动订购此列表。为此,我使用Primefaces OrderList,如下所示:

前端。xhtml

<p:orderList id="ordList" widgetVar="ordList"
                                     value="#{backingview.pojoList }" var="rfg"
                                     controlsLocation="left"  responsive="true" itemValue="#{rfg}"
                                     itemLabel="#{rfg.toStringOrderlistDisplay()}">
    
</p:orderList>

一旦我把上面的p:orderList添加到我的。在调试模式下检查时,我可以看到pojoList不再包含PojoClass的实例,而是简单的字符串(更准确地说,是PojoClass对象的字符串表示形式(toString()方法将返回的内容))。如果我只是删除订单列表,这个问题就不会发生。这是怎么回事?在Java中,这样的事情怎么可能发生呢?

共有1个答案

温举
2023-03-14

我试着使用一个转换器,如图所示。java,它成功了。

也许当您不指定转换器时,它使用默认的. toString()实现,并且不能序列化回PojoClass

你可以在这里提交一个问题,看看它是否是一个bug。

 类似资料:
  • 我如何用整数或字符串填充我的GridPane?我目前正在数独GUI上工作,无法使其工作。我已经知道不可能用Java FX标签来显示它,因为它是Java.FX.scene.Control类。我需要以某种方式将数独值转移到GridPane中相应的坐标。

  • 问题内容: 这就是我通常做,以确定输入是一个/ -但不是。因为很多时候我偶然发现了一个错误,即一个函数错误地传递了一个对象,而目标函数确实假设这实际上是一个or 。 我的问题是:是否有更好的方法来实现这一目标? 问题答案: 仅在python 2中(不是python 3): 实际上就是您想要的,否则您会错过很多像列表一样的东西,但它们不是or的子类。

  • rank ▲ ✰ vote url 77 340 83 533 url 给字符串填充0 有什么方法可以给字符串左边填充0,这样就可以有一个特定长度. 字符串: >>> n = '4' >>> print n.zfill(3) >>> '004' 对于数字: >>> n = 4 >>> print '%03d' % n >>> 004 >>> print format(4, '03') # pyt

  • 问题内容: 但是我没有得到如何用零填充字符串。 输入:“ 129018”输出:“ 0000129018” 总输出长度应为TEN。 问题答案: 如果你的字符串仅包含数字,则可以将其设为整数,然后进行填充:

  • 问题内容: 我设法用json对象填充下拉菜单,效果很好。目前,我正在尝试根据从下拉菜单中选择的选项显示隐藏div中的图像。当下拉列表由json对象填充时,我将如何检索图像数据。 HTML JSON文件 这就是我使用jquery填充下拉菜单的方式。 jfiddle中任何有效的示例,将不胜感激!谢谢。 问题答案: 现场演示