java - 枚举上的 JSTL foreach

标签 java jsp jstl enumeration

我有一个使用枚举类型在 java 中声明的常量列表,它必须出现在 jsp 中。 Java 枚举声明:

public class ConstanteADMD {


    public enum LIST_TYPE_AFFICHAGE {
        QSDF("qsmldfkj"), POUR("azeproui");

        private final String name;

        @Override
        public String toString() {
            return name;
        }

        private LIST_TYPE_AFFICHAGE(String name) {
            this.name = name;
        }

        public static List<String> getNames() {
            List<String> list = new ArrayList<String>();
            for (LIST_TYPE_AFFICHAGE test : LIST_TYPE_AFFICHAGE.values()) {
                list.add(test.toString());
            }
            return list;
        }
    }
}


<select name="typeAffichage" id="typeAffichage">
    <c:forEach var="type" items="${netcsss.outils.ConstanteADMD.LIST_TYPE_AFFICHAGE.names}">
        <option value="${type}">${type}</option>
    </c:forEach>
</select>

其中:

<select name="typeAffichage" id="typeAffichage">
    <c:choose>
        <c:when test="${catDecla ne null}">
            <option
                value="<%=catDecla.getCatDecla().getSTypeAffichage()%>"
                selected="selected"><%=catDecla.getCatDecla().getSTypeAffichage()%></option>
        </c:when>
    </c:choose> 
        <%List<String> list = ConstanteADMD.LIST_TYPE_AFFICHAGE.getNames();
                for(String test : list) {
            %>
        <option value="<%=test%>"><%=test%></option>
        <%}%>
</select>

工作正常。 foreach 循环中的枚举类型是否有限制?

最佳答案

另一种选择是使用 <c:set/>像这样的标签:

<c:set var="enumValues" value="<%=YourEnum.values()%>"/>

然后像这样迭代它:

<c:forEach items="${enumValues}" var="enumValue">
    ...
</c:forEach>

您的 IDE 应该会提示您导入 YourEnum类。

关于java - 枚举上的 JSTL foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3978551/

相关文章:

JAVA fx 排序组合框值

java - 将 Tomcat 上的 JPDA 隔离到一个客户端?

java - 运行 ping federate 无代理示例应用程序时出错

java - 绑定(bind) Spring :checkboxes to enumset on submit causes error

java - FMMT :formatDate shows month too much

java - 通过 ssh 运行 mysql 命令

java - 使用 xpath 查找 Selenium 中的元素很困难

java - Struts web项目中Applet加载错误

java - Java Web App 中会运行多个日志属性吗?

java - 从标签或 jsp 调用 Java set 方法