zoukankan      html  css  js  c++  java
  • 使用EL表达式调用java方法

      首先,新建一个类,类中写一个静态方法

     1 public class PrivilegeUtils {
     2     public static Boolean checkPrivilegeByName(User user, String name){
     3         if(isAdmin(user.getLoginName())){
     4             return true;
     5         }
     6         for(Role r : user.getRoles()){
     7             for(Privilege p : r.getPrivileges()){
     8                 if(name.equals(p.getName())){
     9                     return true;
    10                 }
    11             }
    12         }
    13         return false;
    14     }
    15 }

      然后在WEB-INF文件夹下新建一个tld文件(注意:可以放入自己新建的文件夹中,但不能放在lib和classess目录中)

      tld中内容如下

    <?xml version="1.0" encoding="UTF-8"?>
    <taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd">
        <tlib-version>1.0</tlib-version>
        <short-name>myFunction</short-name>
        <uri>http://www.privilege.demo.com/myFunction</uri>
        <function>
            <name>checkPrivilegeByName</name>
            <function-class>com.demo.privilege.utils.PrivilegeUtils</function-class>
            <function-signature>java.lang.Boolean checkPrivilegeByName(com.demo.privilege.entity.User, java.lang.String)</function-signature>
        </function>
    </taglib>

      接着,在jsp的头部引入

    <%@ taglib uri="http://www.privilege.demo.com/myFunction" prefix="myFunction"%>

      最后就是使用了

    ${myFunction:checkPrivilegeByName(loginUser, privilegeTop.name)}
  • 相关阅读:
    最小生成树(卡鲁斯卡尔)
    最小生成树(kruskal模版 Prim模板)
    hdu1247(Hat’s Words)
    hdu1671Phone List(字典树)
    hdu1305Immediate Decodability(字典树)
    hdu1251(统计难题)
    oj1500(Message Flood)字典树
    oj2892(字典树)
    数论公式
    2504(多项式求和)
  • 原文地址:https://www.cnblogs.com/xiaobai1226/p/7632011.html
Copyright © 2011-2022 走看看