当前位置:  开发笔记 > 编程语言 > 正文

迭代JSP中的Enum常量

如何解决《迭代JSP中的Enum常量》经验,为你挑选了2个好方法。

我有一个这样的Enum

package com.example;

public enum CoverageEnum {

    COUNTRY,
    REGIONAL,
    COUNTY
}

我想在JSP中迭代这些常量而不使用scriptlet代码.我知道我可以用这样的scriptlet代码做到这一点:


    ${type}

但是如果没有scriptlet,我能实现同样的目标吗?

干杯,唐



1> Ted Pennings..:

如果您正在使用Spring MVC,您可以通过以下语法祝福来实现您的目标:

 
   Cluster Type
      
   
   
 

其中您的模型属性(即要填充的bean /数据实体)命名为cluster,并且您已使用名为clusterTypes的枚举值数组填充模型.该部分非常可选.

在Spring MVC中,您也可以clusterTypes像这样自动填充到您的模型中

@ModelAttribute("clusterTypes")
public MyClusterType[] populateClusterTypes() {
    return MyClusterType.values();
}



2> Garth Gilmou..:

如果您使用标记库,则可以将代码封装在EL函数中.所以开始标记将成为:


编辑:回应讨论一个适用于多个枚举类型的实现,只是勾勒出这个:

public static > Enum[] getValues(Class klass) {
    try { 
        Method m = klass.getMethod("values", null);
        Object obj = m.invoke(null, null);
        return (Enum[])obj;
    } catch(Exception ex) {
        //shouldn't happen...
        return null;
    }
}

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有