如何访问 getFirst() 和 getFirst()从 JSF 页面获取Last()?

发布于 2024-12-01 16:38:37 字数 931 浏览 1 评论 0原文

我有一个定义为 List< 的 java 对象列表<链表> > >。但是,当我在表上打印数据并执行下一步操作时,它会起作用:

<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount][0]"/>

但是,如果执行以下任何操作,它会崩溃:

<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount].first}"/>
<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount].getFirst()}"/>
<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount].getFirst}"/>
<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount].First}"/>
<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount]['first']}"/>

我想访问 LinkedList 方法 getFirst() 和 getLast()。我怎么能这样做呢?

非常感谢您的支持! ;-)

I have a java object defined as List< List< LinkedList > > >. However, when I print the data on a table and do the next thing, it works:

<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount][0]"/>

However, if do any of the following things, it crashes:

<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount].first}"/>
<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount].getFirst()}"/>
<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount].getFirst}"/>
<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount].First}"/>
<f:verbatim>selectableDiv.first=</f:verbatim><h:outputText value="#{column[rowCount]['first']}"/>

I would like to access the LinkedList methods getFirst() and getLast(). How could I do this?

Thanks a lot for your support! ;-)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

缱绻入梦 2024-12-08 16:38:37

这在标准 EL 中是不可能的。每当对象是 List 的实例时,它都会受到 ListELResolver。您只能通过整数索引访问该项目。 EL 没有对 LinkedList 的专门支持。您需要为此编写一个自定义 ELResolver,但更简单的方法是将 LinkedList 包装在 Javabean 中并将调用委托给它。

That's not possible in standard EL. Whenever the object is an instance of List, it get special treatment by ListELResolver. You can only access the item by an integer index. EL has no specialized support for LinkedList. You'd need to write a custom ELResolver for this, but easier is to just wrap the LinkedList in a Javabean and delegate the calls to it.

娇纵 2024-12-08 16:38:37

我建议您向控制器(主)类编写一个方法,用于按索引获取内部列表。

i suggest you to write a method to your controller (home) class for getting inner lists by index.

凯凯我们等你回来 2024-12-08 16:38:37

作为 BalusC 所说的替代方案(这是个好建议),您还可以创建自己的 EL 函数。

这实际上相当简单,并且如果您在更多页面上需要这种功能,则可以提供更多的重用。

使用自定义 EL 函数,您可以说:

#{funct:first(column[rowcount])}

As an alternative to what BalusC says (which is good advice), you can also create your own EL function.

This is actually rather simple and provides more reuse if you need this kind of functionality on more pages.

With a custom EL function you can eg say:

#{funct:first(column[rowcount])}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文