<s:iterator id="pjctapply" value="#request['projectApply']">
<tr bgcolor="#FFCC66" height="24">
<td><div align="center"><s:property value="#pjctapply[0]"></s:property></div></td>
<td><div align="center"><s:property value="#pjctapply[1]"></s:property></div></td>
<td><div align="center"><s:property value="#pjctapply[2]"></s:property></div></td>
<td><div align="center"><s:property value="#pjctapply[3]"></s:property></div></td>
<td><div align="center"><s:property value="#pjctapply[4]"></s:property></div></td>
<td><div align="center"><s:if test="#pjctapply[6]=='等待主管审批'">操作项目</s:if></div></td>
</tr>
</s:iterator>
问题是:<td><div align="center"><s:if test="#pjctapply[6]=='等待主管审批'">操作项目</s:if></div></td>
这一行条件永远都不成立,貌似是<s:if>写错了,没写过这样的判断。郁闷啊。我的目的就是要判断数组中的第7个元素值是不是“等待主管审批'”,该怎么来写呢?
说明:value="#request['projectApply']" 中的'projectApply 其实是个list,其中存储的每个元素就是个字符数组。在Struts2的action代码中是这样的
Map request = (Map) ActionContext.getContext().get("request");
List list = new ArrayList();
for(ProjectApply p:pas){
String[] inf = new String[9];
inf[0]=p.getApplyName();
inf[1]=userService.getUserById(p.getUploaduserid()).getOrganization().getOrgName();
inf[2]=userService.getUserById(p.getUploaduserid()).getTrueName();
inf[3]=userService.getUserById(p.getAudituserid()).getTrueName();
inf[4]=p.getApplyDate().toLocaleString();
inf[5]=p.getDocumentName();
inf[6]=p.getFinalStatus();
inf[7]=p.getApplyId()+"";
inf[8]=p.getUploaduserid()+"";
list.add(inf);
}
// list.add(arg0);
request.put("projectApply", list);
忘各位指点我啊。waiting。。。