0

我想检查 arrayList 是否包含 JSF 中的特定元素。

ArrayList 是包含几个值的 nonTradList。sProcessorView 是 Java 类的实例

JSF 页面如下所示 -

<h:commandButton id="p"
                 value="#{msgs['SP.Pend.Button.Label']}" 
                 type="button"
                 disabled="#{securityView.readOnlyUser or sPView.readOnly}">
    <rich:toolTip style="white-space:nowrap" value="Ctrl-Shft-P" />
    <a4j:support event="onclick"
                 oncomplete="if ((!#{sProcessorView.autoFetchNext}) &amp;&amp; 
                                   #{sProcessorView.nonTradList.contains('100')} &amp;&amp;
                                   #{spProcessorView.nonTradList.contains('111')} ) openSimplePop() ; 
                             else openModal();" />
</h:commandButton>

是否已经有任何 EL 或者我必须编写一些自定义标签?

我们也可以从这个 JSF 中调用一个 Java 方法来获取结果吗?

任何帮助都非常感谢

4

1 回答 1

1

您可以在 ManagedBean 上创建一个返回布尔值的方法

public boolean containsValue() {
   //Check if the value is in the list...
}

在您的页面上,您可以执行以下操作:

var showModal = #{bean.containsValue()};
if(showModal) {
   openModal();
} else openSimplePop();

这样做,您可以检查 ManagedBean 上的列表是否包含该值,如果是,则该方法将返回 true,该值将在 JS 变量上设置。

于 2012-09-13T16:58:43.373 回答