struts2 iterator的困惑
我的工程代码
<select name="WorkerNo" id="WorkerNo">
<s:iterator value="emplist" id="emp" status="st">
<option >
<s:property value="#emp.employeeNo" />
</option>
</s:iterator>
</select>
我想写成
<select name="WorkerNo" id="WorkerNo">
<s:iterator value="emplist" id="emp" status="st">
<option >
<s:property value="st.employeeNo" />
</option>
</s:iterator>
</select>
却不对,其中 emplist 是一个list,从后台传入的list,求解
------解决方案--------------------status的 指的是你迭代的数据的索引 从1开始的 比如你的list里有3条数据 它就是 0 1 2。。你的list如果在值栈里 标签就可以直接这样<s:property value="employeeNo" />
------解决方案--------------------可以看看常用的struts2标签的用法
------解决方案--------------------<select name="WorkerNo" id="WorkerNo">
<s:iterator value="emplist" status="st">
<option >
<s:property value="employeeNo" />
</option>
</s:iterator>
</select>
------解决方案--------------------你想要的功能用s:select标签就能搞定
<s:select list="emplist" listValue="employeeNo " listKey="id " name="WorkerNo" id="WorkerNo"
></s:select>
如果你使用struts2,那么你的后台action代码应该是
方法里,
List<Employee> emplist = 你后台从数据库取出来的list列表 ;
setEmplist(emplist)
public List<Employee> getEmpList()
{
return this.emplist;
}
public void setEmpList(List<Employee> emplist)
{
this.emplist = emplist;
}
其中,employeeNo是你定义的Employee对象的employeeNo属性,显示在前台jsp页面的,而id是你定义的Employee对象的id属性,传到后台的,而 name="WorkerNo"是你本身的属性
------解决方案--------------------<s:select list="#request.oqr" listKey="key" disabled="true"
listValue="value.organName" headerKey="" headerValue="--请选择--"
cssStyle="width:133px" theme="simple" name="hrEmploy.organId"
cssClass="{required:true}" />
------解决方案--------------------其实技术不是越强大越好,够用就好,方便快捷能完成一个项目的开发,总是好的。