2012-07-11 22 views
2

參數正在設置,我需要檢查它是否是一個數字。如果不是,我需要將它的值更改爲1.如何檢測jsp中的變量類型?

<c:if test="${param.pageOffset TEST HERE}"> 
    <c:set target="param" property="pageOffset" value="1" /> 
</c:if> 

我對jsp非常陌生,所以我可能完全處於錯誤的軌道上。任何幫助將非常感激!

+1

這不是JSP驗證請求參數的工作。在動作/ servlet中執行此操作,並將適當的pageOffset值存儲爲請求屬性。 – 2012-07-11 10:48:12

+0

你說得對,我已經仔細研究過它並找到了Java控制器類。我會改變它。 – 2012-07-11 11:08:23

回答

0

如果可能的話,最好在Java代碼中執行這種類型的處理,並將結果發送到JSP。

我不知道是否有辦法做到這一點使用純JSTL,但如果你決定把這個操作在JSP你可以只使用一個scriptlet

0

自動型強制功能EL/JSTL。這意味着他們定義了適當的轉換和默認值。

您可以試試<c:catch> JSTL標籤來測試值是否爲數字或不。

<c:set var="num" value="1"/> 
<c:catch var="coerError"> 
    <c:set value="num" value="${num*1}" /> 
</c:catch> 
<c:if test="${not empty coerError}"> 

</c:if>