jsp中使用EL判断枚举值相等问题
2013-12-13 15:17
453 查看
在SpringMvc中向视图传递变量为枚举类型,定义为:
向视图传递的值名称为result
这样在jsp中判断result是否为CreateUserResult.duplicateLoginName时会失败,如下代码:
失败的原因是EL查找变量是从page,request,session等范围找变量的, CreateUserResult.duplicateLoginName是一个枚举类型值,直接写是没有办法找到的。
要做这个判断需要一个小技巧,先用jstl的set表达式设置一个变量,然后做比较。如下代码
package com.xxx.pojo; public enum CreateUserResult { success,duplicateLoginName; }
向视图传递的值名称为result
这样在jsp中判断result是否为CreateUserResult.duplicateLoginName时会失败,如下代码:
<c:choose> <c:when test="${result eq CreateUserResult.duplicateLoginName}"> <span class="error">您输入的登录名已经存在了,请更换登录名重试!</span></c:when> <c:otherwise></c:otherwise> </c:choose>
失败的原因是EL查找变量是从page,request,session等范围找变量的, CreateUserResult.duplicateLoginName是一个枚举类型值,直接写是没有办法找到的。
要做这个判断需要一个小技巧,先用jstl的set表达式设置一个变量,然后做比较。如下代码
<c:set var="duplicateLoginName" value="<%=CreateUserResult.duplicateLoginName %>"/> <c:if test="${not empty result }"> <c:choose> <c:when test="${result eq duplicateLoginName}"> <span class="error">您输入的登录名已经存在了,请更换登录名重试!</span></c:when> <c:otherwise></c:otherwise> </c:choose> </c:if>
相关文章推荐
- jsp中使用equals()判断字符串是否相等时出现的问题(.equals("1")出现的异常)
- 2. 如果两个Integer的值相等,使用==进行判断的结果是否相等(常量池问题)?
- jsp使用c:forEach报错 javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext的问题
- 在JSP页面中使用标签判断字符串长度的问题
- JSP页面使用EL表达式出现的问题:javax.el.PropertyNotFoundException: Property 'ID' not found on type java.lang.Str
- 解决Tomcat5中不能在JSP中使用EL的问题
- jsp tag file中使用c:when 标签无法正确判断的问题
- 在JSP使用EL和JSTL判断指定元素是否存在于指定集合中
- Jsp El表达式使用问题javax.el.ELException: Failed to parse the expression
- 在JSP页面中使用标签判断字符串长度的问题
- JSP数据和JavaScirpt数据交互使用问题的一种解决方法
- JSP数据和JavaScirpt数据交互使用问题
- 使用Tomcat访问JSP页面时遇到的问题
- JSP学习笔记之一——使用Tomcat遇到的问题
- java中判断两个字符串是否相等的问题
- mybatis判断相等的问题
- 使用JSTL中遇到的EL报错问题
- 使用Struts2标签,s:if判断遇见问题
- JSP使用ajaxFileUpload.js实现跨域问题
- 在jsp中怎么使用Cookie?el表达式中获取cookie的问题