2014-02-26 22 views
0

是否有可能將JSP表達式語言變量的值捕獲到jsp頁面中的一個java變量中?例如:我有一個變量$ {error.type},我想將$ {error.type}的值捕獲到一個java變量中,比如說這樣的:String errortype = ${error.type}(我知道這是不可能的)無論如何這樣做? 其實我想檢查是否${error.type}是否爲空,如果有任何值可用,我會顯示成功消息,否則會顯示錯誤消息。 由於我是新來的Java和JSP :)將JSP表達式語言變量的值捕獲到一個java變量


更新: 我想這個代碼

<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

其實我想檢查$ {} ERROR.TYPE爲空或不是,如果有任何價值可我將展示成功的消息別人的錯誤消息

您正在尋找${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> 
+0

嗨,謝謝。我試過你的代碼。但它不起作用。 這是我使用的一個: ' 測試錯誤消息 測試成功消息 ' 但我得到了兩個文本輸出!任何想法爲什麼? – Ganesh

+0

在''之前加'$ {empty error.type}
'來檢查它是否爲空。順便說一句,你會得到一個非常奇怪的結果。 –

+0

是的,我得到真實和虛假的空和非空回報。這兩種情況下仍然會同時打印文本! – Ganesh

0

我理解了它。我沒有在jsp頁面的開頭添加<%@taglib uri="java.sun.com/jsp/jstl/core"; prefix="c" %>。我不知道我們需要初始化它:)無論如何現在它工作正常!謝謝

相關問題