美文网首页
JSP 可变参数 IllegalArgumentExceptio

JSP 可变参数 IllegalArgumentExceptio

作者: ilaoke | 来源:发表于2016-08-23 11:06 被阅读50次

http://stackoverflow.com/questions/15560508/invoke-method-with-varargs-in-el-throws-java-lang-illegalargumentexception-wron
http://stackoverflow.com/questions/5033575/using-varargs-in-a-tag-library-descriptor
JSP DEBUG

以下表达式在Tomcat 7上运行没有异常,发布到 JBossEAP 6.2后总是报非法参数异常,究其原因是Tomcat EL parser支持可变参数,JBossEAP 6.2不支持。


${currentUser.isPermitAny("SUPPLIER_UPDATE_BASIC","SUPPLIER_UPDATE_INVOICE","SUPPLIER_UPDATE_PAYMENT")}'

public boolean isPermitAny(String... permissions){
    boolean[] ps = SecurityUtils.getSubject().isPermitted(permissions);
    for (boolean b : ps) {
        if(b) return true;
    }
    return false;
}

解决方法

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
${currentUser.isPermitAny(fn:split("SUPPLIER_UPDATE_BASIC,SUPPLIER_UPDATE_INVOICE,SUPPLIER_UPDATE_PAYMENT",","))}

public boolean isPermitAny(String[] permissions){
    boolean[] ps = SecurityUtils.getSubject().isPermitted(permissions);
    for (boolean b : ps) {
        if(b) return true;
    }
    return false;
}

或者

${currentUser.isPermitAny("SUPPLIER_UPDATE_BASIC,SUPPLIER_UPDATE_INVOICE,SUPPLIER_UPDATE_PAYMENT")}

public boolean isPermitAny(String permissions){
    boolean[] ps = SecurityUtils.getSubject().isPermitted(StringUtils.split(permissions, ","));
    for (boolean b : ps) {
        if(b) return true;
    }
    return false;
}

相关文章

  • JSP 可变参数 IllegalArgumentExceptio

    http://stackoverflow.com/questions/15560508/invoke-method...

  • 元组、字典可变参数

    可变参数 需求: 参数数量不确定,能否接收? args元组可变参数 kwargs字典可变参数 传递可变参数

  • 函数参数

    1、可变参数,参数个数可变 在参数前面加上* 就代表可变参数 可变参数,在函数内部其实就是一个tuple def ...

  • ★10.关于可变参数模板

    可变参数函数模板 可变参数类模板 可变参数函数模板的使用 转发参数包

  • jsp传参方法小结

    一、jsp页面到jsp页面## 1.从a.jsp传递 //将参数值为aaa,参数名test的参数传递到b.jsp页...

  • 函数的,参数,变量作用域,递归,匿名函数

    一:函数参数的介绍 1:可变和不可变参数 1.1:必选参数 1.2:默认参数 1.3:可变参数 1.4:关键字参数...

  • Go语言可变参数

    可变参数 参数数量可变的函数称为可变参数函数 在声明可变参数函数时,需要在参数列表的最后一个参数类型之前加上省略符...

  • 可变参数列表

    可变参数列表 数组可以向可变参数传值,反之,不行 可变参数列表作为参数时只能放在参数的最后面 可变参数列表的方法是...

  • python函数回顾

    1.参数的介绍 (1)可变和不可变参数 (2)必选参数 (3)默认参数 (4)可变参数 (5)关键字参数 1.1....

  • Python参数 * 与 ** ,及装包拆包

    (*args)可变参数在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以...

网友评论

      本文标题:JSP 可变参数 IllegalArgumentExceptio

      本文链接:https://www.haomeiwen.com/subject/ccogsttx.html