日期:2014-05-19  浏览次数:20765 次

毕业设计:struts2中s:iterator无法显示问题,急急急急!
<s:iterator value="users">
  <tr>
  <td><s:property value="userid"/></td>
  <td><s:property value="name"/></td>
  <td><s:property value="password"/></td>
  <td><s:property value="email"/></td>
  </tr>
  </s:iterator>
users在action中是List型属性变量,有getter,setter方法!可是为什么页面无法显示出来,<td>中显示的是空值,请高手指点小弟啊!

------解决方案--------------------
给你看看我写的一个代码:
userlist.jsp
HTML code

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="com.liu.user.User" %>
<%
List<User> list=(List)request.getAttribute("list");
//System.out.print(list);
 %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>   
    <title>My JSP 'userlist.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
  
  <body>
  <table>
  <tr>
  <td>编号</td>
  <td>用户名</td>
  <td>密码</td>
  <td>Email</td>
 </tr>
 <%
 if(list!=null && list.size()>0){
     for(int i=0;i<list.size();i++){
     User user=list.get(i);
  %>
  <tr>
  <td><%=i+1 %></td>
  <td><%=user.getUsername() %></td>
  <td><%=user.getPassword() %></td>
  <td><%=user.getEmail() %></td>
  <td><a href="update.jsp?id=<%=i+1 %>">修改</a></td>
  <td><a href="delete.jsp?id=<%=i+1 %>">删除</a></td>
  </tr>
  
  <%     }
 } %>
  </table>
  <a href="adduser.jsp">添加User</a>
   </body>
</html>

------解决方案--------------------
1.第一种解决办法:

1>.action:
users属性及get/set方法去掉。
2>.jsp:
<s:iterator value="allUsers">
<tr>
<td><s:property value="userid"/></td>
<td><s:property value="name"/></td>
<td><s:property value="password"/></td>
<td><s:property value="email"/></td>
</tr>
</s:iterator>

2.第二种解决办法:
修改getUsers(),jsp循环写法不变。
public List getUsers() {
try {
List temp = this.getUserManager().getAllUsers();
this.setInfo("查询成功");
return temp;
} catch(Exception e) {
e.printStackTrace();
throw new Exception("异常");
}
}

------解决方案--------------------
<s:iterator value="#request.users" var="user">
姓名:<s:property value="name" name = "user"/>
</s:iterator> 、、、
注意你用的是list
你要是正常使用的话
你也是要先从list中取出user
然后使用user的各种属性的,比如name

页面也是这样使用的

可是
如果你想显示list中的内容