【问题标题】:Expression Language - how to access whole array?表达式语言 - 如何访问整个数组?
【发布时间】:2015-01-30 13:07:51
【问题描述】:

我正在使用以下代码:

<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

参数['form_inhalt:artikeldatatable:0:entfernen']

到 参数['form_inhalt:artikeldatatable:99999:entfernen']

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

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

非常感谢!

【问题讨论】:

  • form_inhalt:artikeldatatable[0]是什么数据结构?
  • Primefaces 数据表,支持 bean 中的列表 (ArrayList)。 “entfernen”是命令按钮的 ID。
  • 是否需要访问 UI 组件?否则,您可以访问绑定的视图 bean 对象。
  • stackoverflow.com/questions/14335610/… 这是/是我的问题,但不是只有一个按钮,而是表格的每一行都有多个按钮,因此删除表格的元素(不应执行验证) .
  • 为什么不让表格中的所有按钮切换一个布尔变量?这样你只检查输入文本中的一个变量

标签: javascript jsf jsf-2 el


【解决方案1】:
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 为止)。

【讨论】:

    猜你喜欢
    • 2011-07-20
    • 2021-07-20
    • 2014-04-25
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多