我想检查一个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}) &&
#{sProcessorView.nonTradList.contains('100')} &&
#{spProcessorView.nonTradList.contains('111')} ) openSimplePop() ;
else openModal();" />
</h:commandButton>
有没有EL已经存在或我必须写一些自定义标签?
我们还可以从这个JSF调用Java方法来获得结果吗?
任何帮助都非常感谢
答案 0 :(得分: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变量上设置。