繁体   English   中英

如果在Struts 2响应中测试为数组列表类型且字段名称为动态,该如何使用

[英]How to use if test in struts 2 response is an arraylist type and field name is dynamic

我能够完美地迭代数组列表,但是我必须测试dept代码( deptc )是否符合某些条件并相应地执行以下操作:

<s:iterator value="deptAttendace" status="stat"> 
    <s:text name="%{'deptAttendace['+#stat.index+'].deptc'}"/> 
</s:iterator>

<s:if test= "%{#deptAttendace['+#stat.index+'].deptc=='804'}">
    <s:text   name="%{'deptAttendace['+#stat.index+'].deptc'}"/> 
    is computer science deptc 
</s:if>

我已经写了上面的代码,但这行不通。

  1. 您需要将s:if放在迭代器中;
  2. stat.index的串联是错误的;
  3. 删除deptAttendace前面的#号。
<s:iterator value="deptAttendace" status="stat"> 
    <s:text name="deptAttendace[%{#stat.index}].deptc}" /> 

    <s:if test="%{deptAttendace[#stat.index].deptc=='804'}">
        is computer science deptc 
    </s:if>
</s:iterator>

有几种访问迭代对象的方法, 请在此处阅读

试试这个

<s:iterator value="deptAttendace" status="stat"> 
 <s:text name="deptAttendace.get(#stat.index).getDeptc()"/> 
</s:iterator>

<s:if test= "deptAttendace.get(#stat.index).getDeptc()=='804'}">
<s:text   name="deptAttendace.get(#stat.index).getDeptc()"/> 
is computer science deptc 
</s:if>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM