簡體   English   中英

如何使用JSTL <c:set>存儲角色

[英]How to store a character using JSTL <c:set>

我想使用JSTL在變量中存儲字符值

我的代碼是:

<c:set var="letter" value='${param.colorLetter.toLowerCase().charAt(0)}' ></c:set>

接下來我需要嘗試檢查角色是否為'v':

        <c:choose>
            <c:when test="${letter}=='v'">
                <lable>Color Name: </lable>Violet<br/>
            </c:when>
        </c:choose>

目前我覺得它不是將它存儲為字符變量,所以測試失敗了。 (沒有錯誤/例外)

<c:set var="letter" value="${param.colorLetter.toLowerCase().charAt(0).toString()}" />

<c:choose>
    <c:when test="${letter eq 'v'}">
        <lable>Color Name: </lable>Violet<br/>
    </c:when>
</c:choose>

您必須將整個測試放在${}之間,並在charAt(0)之后添加toString() charAt(0)以從CharacterString

為了防止這對其他人有用,我能夠通過使用“sp00m”建議來解決這個問題。

<c:set var="letter" value='${param.colorLetter.toLowerCase().charAt(0).toString()}' ></c:set>

表達式語言將其存儲為一個字符,然后評估它必須涉及比較ascii值。 上面的方法將Character轉換為String,然后將其存儲在“letter”變量中。 那么這只是簡單的String比較的問題:

<c:when test='${letter=="v"}'>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM