Struts2:比较If标签中的2变量不起作用

时间:2012-07-25 23:26:18

标签: java struts2

我正在检索2个值(用户ID和配置文件ID),我将它们设置在变量userId和profileId中,如下所示。

<s:set name="userId" value="#session.User.id"/>
<s:set name="profileId" value="%{#parameters['id']}"/>

<s:if test="%{#userId} != %{#profileId}" >

<a href="#" title="Follow" id="follow-btn">
<img src="theme/images/follow.png" alt="like" />
<span>Follow</span>
</a>

</s:if>

我已使用<s:property value="%{#userId}" /><s:property value="%{#profileId}" />进行了测试,并且两者都能够显示该值。但是,我无法让它在if标签中工作。现在,无论这两个变量的值是什么,链接按钮都不会显示。

我不确定if标签是否正确但是我尝试了很多组合(使用%{}' '

我觉得它与数据类型有关,但不管我做了什么,比较表达式似乎都没有用。

干杯!〜

更新 好吧,我发现问题出在#profileId。可能是因为该值来自#parameters['id'],它返回一个String值。有没有办法将此值转换为int?我已经尝试了Integer.parseInt(#profileId),但这不起作用。

1 个答案:

答案 0 :(得分:1)

尝试使用:

<s:if test="#userId != #profileId" >