3

在此先感谢您的时间。

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

(我目前无法使用<s:radio,因为我需要根据表单中的其他输入元素附加一些业务规则)。

我试着像下面那样做<s:set里面保存的 id 的值,s:iterate然后像下面那样比较它们,但显然我没有做对。

<s:set var="savedId" value="%{flag.problemId}"/> 
              <s:iterator value="problemIdList"> 
                    <s:set var="currentId" value='<s:property value="id"/>' />                   
                        <s:if test="%{#currentId.equals(#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" name="problemId" id="problemId" value='<s:property value="id"/>'/> <s:property value="description"/> <br/>
                </s:else>                       
             </s:iterator>

基本上我需要比较两个字符串,我的代码如下。我知道我不能像下面这样与 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

4

2 回答 2

8

你有没有尝试过:

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

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

于 2011-02-14T21:47:31.773 回答
1

将值形式访问<s:iterator><s:if>(ognl with <s:if>and <s:iterator>

例如:假设是jsp中要迭代loadUserList的迭代器(包含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>

带有 s:if 和 s:iterator 的 OGNL

于 2012-01-17T10:52:25.447 回答