在JSP中使用枚举值进行验证

时间:2013-05-28 05:24:00

标签: jsp servlets enums jstl

我是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>

for draftId和modulTask​​Id我从servlet检索,然后通过RequestDispatcher转发。

这是我的servlet中的代码

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

希望总和可以提供帮助。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

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

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

答案 1 :(得分:0)

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

的内容
<when test="${mytag:isAllowedSomething(modulTaskId)}" >
...
</when>