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

发布于 2024-10-17 06:52:20 字数 1930 浏览 7 评论 0 原文

预先感谢您的宝贵时间。

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

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

我尝试像下面那样对 s:iterate 中保存的 id 的值进行 操作,然后像下面这样比较它们,但显然我没有做对。

<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>                       

问候, 维肯

Thanks in advance for your time.

I need to preselect a radio button if it has a saved value. I basically need to compare 2 strings in the valuestack to determine this.

(I can't use <s:radio at the moment because of some business rules I need to attach based on other input elements in the form).

I tried to do <s:set the value of the saved id inside s:iterate like below and then compare them like below but obviously I didnt get it right.

<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>

Basically I need to compare the two strings, my code is below. I know I can't compare with equals() like I have below - any ideas?

Thanks a bunch!

<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>                       

Regards,
VeeCan

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小伙你站住 2024-10-24 06:52:20

您是否尝试过:

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

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

Have you tried:

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

If "id" is a string OGNL will allow you to use methods of String.

远昼 2024-10-24 06:52:20

形式的值访问为 (ognl 使用 )

例如:假设loadUserList是要迭代的迭代器(包含UserNameAddress) jsp,

     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>

OGNL 与 s:if 和 s:iterator

Access value form <s:iterator> into <s:if> (ognl with <s:if> and <s:iterator>)

For example: Suppose loadUserList is the iterator(containing UserName and Address) to be iterated in jsp,

     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>

OGNL with s:if and s:iterator

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文