如何检测变量在jsp中的类型?

时间:2012-07-11 10:40:37

标签: jsp jstl

正在设置参数,我需要检查它是否是数字。如果没有,我需要将其值更改为1。

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

我对jsp很新,所以我可能完全走错了路。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

如果可能,最好在Java代码中执行此类处理,并将现成结果发送到JSP。

我不确定是否有办法使用纯JSTL执行此操作但如果您决定将此操作保留在JSP中,则可以使用scriptlet

答案 1 :(得分: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>