您的位置:首页 > 运维架构

s:property标签

2016-04-25 10:44 267 查看
今天做一个页面,在action中定义了一个属性 为List<Answer> myAnswer 

想用<s:iterator var ="a"   value="<s:property value="findAnswer(#sId)"/>"><s:iterator>,查询ID,根据函数返回值(字符串),动态生成list(初始化给myAnswer工作在函数中进行),为""或者为"myAnswer"

结果标签无法正常显示,

findAnswer代码

</pre><pre name="code" class="java">public String findAnswer(Integer sid){
System.out.println("findAnswer..."+sid);
myAnswer=answerService.findMyAnswers(sid);
System.out.println("findAnswer..."+sid);
if(ValidateUtil.isValid(myAnswers())){
System.out.println("userId..."+myAnswer.get(0).getUserId()+"userId...");
return "myAnswer";
}
else{
return "";
}
}

最后只能在<s:iterator><s:iterator/>标签之前用<s:property value="findAnswer(#sId)"/>初始化话该list,然后<s:iterator var ="a"   value="myAnswer"><s:iterator>写死,请问能否根据函数返回值(要遍历的list属性名),初始化iterator的value属性?这样就能将两行代码写在一起?

另外,在使用<s:property value="findAnswer(#sId)"/>初始化话该list时,发现<s:property value="%{findAnswer(#sId)}"/>也能达到相同效果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: