0

我是 java web 编程、servlet 和 JSTL 方面的新手。我要做的是如何从枚举中获取价值并使用 JSTL 在我的 jsp 页面中进行一些验证;

这是我的枚举

package RenewalVo.common;

public enum RenewalConstant {

    //MODUL_TASK
    MT_REGISTRATION(46),
    MT_DISTRIBUTION(47),
    MT_ACTION_PLAN(70);

    private int constantId;

    private RenewalConstant(int s) {
        constantId = s;
    }        

    public int getConstantCode() {
        return constantId;
    }
}

这是我的jsp页面中的代码,比如说validationpage.jsp

<c:choose>
    <c:when test="${drafId!=0 }">
        <c:choose>
            <c:when test="${modulTaskId== //here is which i would like to get the enum value for validation}">
                // do something here            
            </c:when>
            <c:when test="${modulTaskId== //here is which i would like to get the enum value for validation}">
                // do something here
            </c:when>
            <c:otherwise>
                //do something here
            </c:otherwise>
        </c:choose>
    </c:when>   
</c:choose>

对于 draftId 和 modulTask​​Id 我从 servlet 检索,并通过 RequestDispatcher 转发。

这是我的servlet中的代码

request.setAttribute("modulTaskId",modulTaskId);
request.setAttribute("drafId",drafId);
RequestDispatcher view = request.getRequestDispatcher(/validationpage.jsp);                    
view.forward(request, response); 

希望sumbody可以提供帮助。

先感谢您。

4

2 回答 2

1

尝试这个:

<c:when test="${modulTaskId=='MT_REGISTRATION'}">          
</c:when>

(我假设 moduleTaskId 是 RenewalConstant.MT_REGISTRATION 的一个实例)

于 2013-05-28T05:41:46.700 回答
0

您可以创建自定义 JSP 标记,然后使用类似

<when test="${mytag:isAllowedSomething(modulTaskId)}" >
...
</when>
于 2013-05-29T23:40:54.177 回答