表达式语言 - 如何访问整个数组?

时间:2014-12-02 10:15:21

标签: javascript jsf jsf-2 el

我正在使用以下代码:

<p:inputText label="Bezeichnung"
     required="#{param['form_inhalt:artikeldatatable[0]:entfernen']==null}"
          value="#{artikeldata.bezeichung}"></p:inputText>

我需要访问此'artikeldatatable'中的所有ID。我怎么能这样做? 如果激活表中的任何按钮,它应该返回false。这可以通过一个按钮[0]正常工作,但我需要检查ID-Array中的所有按钮。

#param['form_inhalt:artikeldatatable:0:entfernen']==nullANDparam['form_inhalt:artikeldatatable:1:entfernen']==null}

有没有办法检查整个阵列?

基本上我正在寻找像*这样的通配符 来自

的所有ID

PARAM [ 'form_inhalt:artikeldatatable:0:entfernen']

要 PARAM [ 'form_inhalt:artikeldatatable:99999:entfernen']

或者我是否必须编写一个java脚本函数,该函数迭代到数组并返回true?

如果是这样,我如何通过Javascript访问#{param ... stuff?

非常感谢!

1 个答案:

答案 0 :(得分:0)

private boolean checkButtonBeschaffung() {
        boolean globalValue = false;
        FacesContext facesContext = FacesContext.getCurrentInstance();
        Map<String, String> parameterMap = (Map<String, String>) facesContext.getExternalContext().getRequestParameterMap();

        for (int i = 0; i < 50; i++) {
            StringBuilder sb = new StringBuilder("form_inhalt:artikeldatatable:");
            sb.append(i);
            sb.append(":entfernen");
            String param = parameterMap.get(sb.toString());
            // Wenn irgendeiner der entfernen Buttons gedrueckt wurde, dann return = false
            if (param == null) {
                globalValue = true;
            } else {
                globalValue = false;
                break;
            }
        }
        return globalValue;
    }

运行RequestParameterMap,如果按下它们,我会检查所有按钮(确定到50)。

相关问题