比较JSP-struts2中的两个valuestack字符串值

比较JSP-struts2中的两个valuestack字符串值,struts2,ognl,Struts2,Ognl,提前感谢您抽出时间 我需要预先选择一个单选按钮,如果它有一个保存的值。我基本上需要比较valuestack中的两个字符串来确定这一点 (我不能使用 基本上我需要比较这两个字符串,我的代码如下。我知道我不能像下面那样与equals()进行比较-有什么想法吗 非常感谢 <s:set var="savedId" value="%{flag.problemId}"/> <s:iterator value="problemIdList">

提前感谢您抽出时间

我需要预先选择一个单选按钮,如果它有一个保存的值。我基本上需要比较valuestack中的两个字符串来确定这一点

(我不能使用


基本上我需要比较这两个字符串,我的代码如下。我知道我不能像下面那样与equals()进行比较-有什么想法吗

非常感谢

<s:set var="savedId" value="%{flag.problemId}"/>  <s:iterator value="problemIdList">                                 
<s:if test=' <s:property value="id"/>.equals(<s:property value="savedId"/>) '>
    <input checked="checked" type="radio" name="problemId" id="problemId" value='<s:property value="id"/>'/>            <s:property value="description"/> <br/>
</s:if>
<s:else>
    <input type="radio" type="radio" name="problemId" id="problemId" value='<s:property value="id"/>'/>                     <s:property value="description"/> <br/>
</s:else>                       



问候,, VeeCan

您是否尝试过:

<s:if test='id.equals(savedId)'>

如果“id”是字符串,OGNL将允许您使用字符串方法。

将值形式
访问到
(OGNL带有

例如:假设
loadUserList
是要在jsp中迭代的迭代器(包含
UserName
Address

     UserName:<s:property escape="false" value="userName" />
     Address:<s:property escape="false" value="address" />
     <s:if test='userName.equals("Admin")'>This is admin User</s:if>
     <s:else>This is not an admin user!</s:else>

用户名:
地址:
这是管理员用户
这不是管理员用户!


同意。这应该对您有用。test属性的值作为OGNL表达式进行计算。感谢Steven和四元数的输入,但是,id.equals(savedId)的计算结果不为true。在调试期间,当我尝试id==1(对于我正在测试的一条记录)时,它可以工作。肯定不是硬编码,但我没有得到它:(好的,我想出来了-
有效。@Steven&@Quaternion,非常感谢你为我指明了正确的方向。我需要迭代器变量前面的#来让它起作用。就像这样:
     UserName:<s:property escape="false" value="userName" />
     Address:<s:property escape="false" value="address" />
     <s:if test='userName.equals("Admin")'>This is admin User</s:if>
     <s:else>This is not an admin user!</s:else>