当前位置: 代码迷 >> Web前端 >> 吐槽上websphere的兼容性
  详细解决方案

吐槽上websphere的兼容性

热度:377   发布时间:2012-08-24 10:00:21.0
吐槽下websphere的兼容性
这两天在进行系统迁移的时候,源系统使用的websphere版本是6.1.0.29
,新的系统使用的websphere版本是6.1.0.0,然后就出现莫名其妙的问题了。
javax.servlet.ServletException: No function is mapped to the name "fn:contains"

几经测试,谷歌多次才明白是由于websphere对jstl的支持问题。
具体原因是由于websphere有些版本不支持fn标签的取反,以下是我的代码
<c:if test="${!fn:contains(user.userNO,'blank')&&!fn:contains(user.userNO,'default')}">
(代理)
</c:if>

准备修改的时候,才发现c标签没有else,jstl也够极品的
于是修改成如下
<c:choose>
<c:when test="${fn:contains(user.userNO,'default')||fn:contains(user.userNO,'blank')}">
<!-- webspehere6.0不支持fn标签取反,所以就这样了 -->
</c:when>
<c:otherwise>(代理)</c:otherwise>
</c:choose>

问题得到解决,上来吐槽下websphere的兼容性
如果你不能忍受?果断的换struct标签吧
<s:if  test="user.userNO!='blank' && user.userNO!='default'">
(代理)
</s:if>