将JSP Expression Language变量的值捕获到java变量中

时间:2014-02-26 22:42:44

标签: java jsp el

是否可以将JSP表达式语言变量的值捕获到jsp页面中的java变量中?

例如:我有一个变量$ {error.type},我想将$ {error.type}的值捕获到一个java变量中,比如这样:String errortype = ${error.type}(我知道这不是'可能)无论如何这样做? 实际上我想检查${error.type}是否为空,如果有任何可用值,我将显示成功消息,否则显示错误消息。 谢谢我是java和JSP的新手:)


更新: 我试过这段代码

 <c:choose>
     <c:when test="${not empty error.type}"> 
        test error message    
     </c:when>     
     <c:when test="${empty error.type}">
         test success message     
     </c:when> 
 </c:choose> 

但是现在两个文本都是同时显示的,无论是否为空! 即使我尝试${errors.errors ? "some text when true" : "some text when false"}并猜测是什么,每次我在浏览器中打印“有些文本时”,尽管该值已正确初始化。任何想法为什么?

2 个答案:

答案 0 :(得分:2)

  

其实我想检查$ {error.type}是否为null,如果有任何可用值,我将显示成功消息,否则出现错误消息

您正在寻找${empty error.type},以便了解error.getType()null

<c:choose>
    <c:when test="${not empty error.type}">
        ${error.message}
    </c:when>
    <c:when test="${empty error.type}">
        <!-- show your valid message -->
    </c:when>
</c:choose>

答案 1 :(得分:0)

我明白了。我没有在jsp页面的开头添加<%@taglib uri="java.sun.com/jsp/jstl/core"; prefix="c" %>。我不知道我们需要初始化它:)无论如何现在它工作正常!感谢