public Class Student {
private int id;
private String name;
.....
}
Action
private List<Student> students;
jsp:
<s:iterator value="students" id="name">
<s:property value="student.name"/>
</s:iterator>
遍历student列表,显示student的名字,但是jsp里面不显示,求助,在线等
20 个解决方案
#1
把action中的List对象,在页面用<s:iterator>把List的内容循环显示出来
在把list放在request中,好在jsp页面中能拿到
jsp页面中的代码
//首先有一个User对象
public class User {
private Integer userId;
private String userName;
private String userPwd;
//get和set方法
...........
}
//action中的代码
List list = new ArrayList();
User user1 = new User();
user1.setUserId(1);
user1.setUserName("zhangsan");
user1.setUserPwd("123456");
list.add(user1);
User user2 = new User();
user2.setUserId(2);
user2.setUserName("lisi");
user2.setUserPwd("1234");
list.add(user2);
在把list放在request中,好在jsp页面中能拿到
jsp页面中的代码
<table>
<s:iterator value="list" id="别名">//这个id加不加都没事
<tr>
<td><s:property value="user.userId"/></td>//这也可以写成<s:property value="别名.user.userId"/>
<td><s:property value="user.userName"/></td>
<td><s:property value="user.userPwd"/></td>
</tr>
</s:iterator>
</table>
#2
<s:iterator value="students" var="student" id="name">
<s:property value="student.name"/>
</s:iterator>
试试看
<s:property value="student.name"/>
</s:iterator>
试试看
#3
<s:iterator value="students" id="student">
<s:property value="student.name"/>
</s:iterator>
<s:property value="student.name"/>
</s:iterator>
#4
<s:iterator var="user" status="userSt" value="list">
<tr id="<s:property value='#user.id'/>">
<td align="right"> <s:property value="#userSt.index + 1"/></td>
<td align="center"> <s:property value="#user.account"/></td>
<td align="center"> <s:property value="#user.name"/></td>
</tr>
</s:iterator>
用这样子试下,我上面的代码是正常的。
<tr id="<s:property value='#user.id'/>">
<td align="right"> <s:property value="#userSt.index + 1"/></td>
<td align="center"> <s:property value="#user.account"/></td>
<td align="center"> <s:property value="#user.name"/></td>
</tr>
</s:iterator>
用这样子试下,我上面的代码是正常的。
#5
<s:iterator value="students" id="usr">
<s:property value="#user.name"/></s:iterator>
value里面应该写#后面id然后跟属性 这样试一下
<s:property value="#user.name"/></s:iterator>
value里面应该写#后面id然后跟属性 这样试一下
#6
刚才iterator 里面的id写错了
#7
<s:iterator value="students" id="name">
<s:property value="name"/>
</s:iterator>
或
<s:iterator value="students" id="name">
<s:property value="#name.name"/>
</s:iterator>
<s:property value="name"/>
</s:iterator>
或
<s:iterator value="students" id="name">
<s:property value="#name.name"/>
</s:iterator>
#8
<s:iterator value="students" id="student">
<s:property value="#student.name"/>
</s:iterator>
或
<s:iterator value="students" id="student">
${student.name}
</s:iterator>
<s:property value="#student.name"/>
</s:iterator>
或
<s:iterator value="students" id="student">
${student.name}
</s:iterator>
#9
通常页面上的id就是给页面取用
如果设错了就无法拿到
如果设错了就无法拿到
#10
以上都是同一种做法,我教你另外一个方法:用struts2的标签<s:select>
Users.java
private String userId;
private String userName;
..... 省略setter/getter
==============================
action里
private Users user ;// 省略 setter /getter方法
private List userList;//省略 setter /getter方法
(此处的userList 只存放userName 属性,且为jsp页面的list的值)
//这里dao你自己设计,注意的是sql或者hql里面只去名字属性,如 Hibernate中String hql="select userName from Users " 或Sql 语句中String sql="select user_name from Users"
public String init(){
userList= dao.getUserNameList();
return INPUT;
}
struts.xml
关键的那个return
<result name="input">/user.jsp</result> // 斜杠别漏了
user.jsp页面
<s:select name="user.userName" list="uesrList" /> 无须用<s:iterater>迭代出来
最后想强调下:一定要经过action 转向到Jsp页面,效果才能出来..
Users.java
private String userId;
private String userName;
..... 省略setter/getter
==============================
action里
private Users user ;// 省略 setter /getter方法
private List userList;//省略 setter /getter方法
(此处的userList 只存放userName 属性,且为jsp页面的list的值)
//这里dao你自己设计,注意的是sql或者hql里面只去名字属性,如 Hibernate中String hql="select userName from Users " 或Sql 语句中String sql="select user_name from Users"
public String init(){
userList= dao.getUserNameList();
return INPUT;
}
struts.xml
关键的那个return
<result name="input">/user.jsp</result> // 斜杠别漏了
user.jsp页面
<s:select name="user.userName" list="uesrList" /> 无须用<s:iterater>迭代出来
最后想强调下:一定要经过action 转向到Jsp页面,效果才能出来..
#11
<s:iterator value="students" id="usr">
<s:property value="name"/></s:iterator>
<s:property value="name"/></s:iterator>
#12
<s:iterator value="students" id="student">
<s:property value="#student.name"/>
</s:iterator>
#13
建议不要用S标签,我们项目在小型机上部署后,这东西超级耗内存!
#14
应该是这样吧?
<s:iterator value="students">
<s:property value="name"/>
</s:iterator>
<s:iterator value="students">
<s:property value="name"/>
</s:iterator>
#15
应该是这样的
#16
<s:iterator var="students" value="#session.students">
${students.Name}
</s:iterator>
value="#session.students"这个students是存在session中的值。
写成这样的吧,我一直都这样写的。或者写这种
<c:forEach var="lists" items="${sessionScope.students}">
${students.Name}
</c:forEach>
items="${sessionScope.students}"这个students是存在session中的值。
这两中都可以遍历表。
${students.Name}
</s:iterator>
value="#session.students"这个students是存在session中的值。
写成这样的吧,我一直都这样写的。或者写这种
<c:forEach var="lists" items="${sessionScope.students}">
${students.Name}
</c:forEach>
items="${sessionScope.students}"这个students是存在session中的值。
这两中都可以遍历表。
#17
不好意思,写错了,是这样的
<c:forEach var="lists" items="${sessionScope.students}">
${lists.Name}
</c:forEach>
items="${sessionScope.students}"这个students是存在session中的值。
<c:forEach var="lists" items="${sessionScope.students}">
${lists.Name}
</c:forEach>
items="${sessionScope.students}"这个students是存在session中的值。
#18
帮我看看我的,
<s:iterator value="serverList" id="list">as
<s:property value="serverList.size"/>
<s:property value="serverinfo.serverName"/>
</s:iterator>
这个size能打出来是1,而且serverName里面也有值,为什么没有打印出来呢?
#19
两种方式:第一种
<s:iterator value="students">
<s:property value="name"/>
</s:iterator>
这种方法是因为struts2会将students中得每一个student对象放入当前valueStack中的root区域中,你可以直接取到对应属性的值
第二种
<s:iterator value="students" var="student">
<s:property value="#student.name"/>
</s:iterator>
第二种方式是将students中的每一个对象赋值给student变量,然后将该变量放入valueStack的context区域中,所以要使用#student.name才能取到值
谢谢
<s:iterator value="students">
<s:property value="name"/>
</s:iterator>
这种方法是因为struts2会将students中得每一个student对象放入当前valueStack中的root区域中,你可以直接取到对应属性的值
第二种
<s:iterator value="students" var="student">
<s:property value="#student.name"/>
</s:iterator>
第二种方式是将students中的每一个对象赋值给student变量,然后将该变量放入valueStack的context区域中,所以要使用#student.name才能取到值
谢谢
#20
学习学习~~~~
#21
#1
把action中的List对象,在页面用<s:iterator>把List的内容循环显示出来
在把list放在request中,好在jsp页面中能拿到
jsp页面中的代码
//首先有一个User对象
public class User {
private Integer userId;
private String userName;
private String userPwd;
//get和set方法
...........
}
//action中的代码
List list = new ArrayList();
User user1 = new User();
user1.setUserId(1);
user1.setUserName("zhangsan");
user1.setUserPwd("123456");
list.add(user1);
User user2 = new User();
user2.setUserId(2);
user2.setUserName("lisi");
user2.setUserPwd("1234");
list.add(user2);
在把list放在request中,好在jsp页面中能拿到
jsp页面中的代码
<table>
<s:iterator value="list" id="别名">//这个id加不加都没事
<tr>
<td><s:property value="user.userId"/></td>//这也可以写成<s:property value="别名.user.userId"/>
<td><s:property value="user.userName"/></td>
<td><s:property value="user.userPwd"/></td>
</tr>
</s:iterator>
</table>
#2
<s:iterator value="students" var="student" id="name">
<s:property value="student.name"/>
</s:iterator>
试试看
<s:property value="student.name"/>
</s:iterator>
试试看
#3
<s:iterator value="students" id="student">
<s:property value="student.name"/>
</s:iterator>
<s:property value="student.name"/>
</s:iterator>
#4
<s:iterator var="user" status="userSt" value="list">
<tr id="<s:property value='#user.id'/>">
<td align="right"> <s:property value="#userSt.index + 1"/></td>
<td align="center"> <s:property value="#user.account"/></td>
<td align="center"> <s:property value="#user.name"/></td>
</tr>
</s:iterator>
用这样子试下,我上面的代码是正常的。
<tr id="<s:property value='#user.id'/>">
<td align="right"> <s:property value="#userSt.index + 1"/></td>
<td align="center"> <s:property value="#user.account"/></td>
<td align="center"> <s:property value="#user.name"/></td>
</tr>
</s:iterator>
用这样子试下,我上面的代码是正常的。
#5
<s:iterator value="students" id="usr">
<s:property value="#user.name"/></s:iterator>
value里面应该写#后面id然后跟属性 这样试一下
<s:property value="#user.name"/></s:iterator>
value里面应该写#后面id然后跟属性 这样试一下
#6
刚才iterator 里面的id写错了
#7
<s:iterator value="students" id="name">
<s:property value="name"/>
</s:iterator>
或
<s:iterator value="students" id="name">
<s:property value="#name.name"/>
</s:iterator>
<s:property value="name"/>
</s:iterator>
或
<s:iterator value="students" id="name">
<s:property value="#name.name"/>
</s:iterator>
#8
<s:iterator value="students" id="student">
<s:property value="#student.name"/>
</s:iterator>
或
<s:iterator value="students" id="student">
${student.name}
</s:iterator>
<s:property value="#student.name"/>
</s:iterator>
或
<s:iterator value="students" id="student">
${student.name}
</s:iterator>
#9
通常页面上的id就是给页面取用
如果设错了就无法拿到
如果设错了就无法拿到
#10
以上都是同一种做法,我教你另外一个方法:用struts2的标签<s:select>
Users.java
private String userId;
private String userName;
..... 省略setter/getter
==============================
action里
private Users user ;// 省略 setter /getter方法
private List userList;//省略 setter /getter方法
(此处的userList 只存放userName 属性,且为jsp页面的list的值)
//这里dao你自己设计,注意的是sql或者hql里面只去名字属性,如 Hibernate中String hql="select userName from Users " 或Sql 语句中String sql="select user_name from Users"
public String init(){
userList= dao.getUserNameList();
return INPUT;
}
struts.xml
关键的那个return
<result name="input">/user.jsp</result> // 斜杠别漏了
user.jsp页面
<s:select name="user.userName" list="uesrList" /> 无须用<s:iterater>迭代出来
最后想强调下:一定要经过action 转向到Jsp页面,效果才能出来..
Users.java
private String userId;
private String userName;
..... 省略setter/getter
==============================
action里
private Users user ;// 省略 setter /getter方法
private List userList;//省略 setter /getter方法
(此处的userList 只存放userName 属性,且为jsp页面的list的值)
//这里dao你自己设计,注意的是sql或者hql里面只去名字属性,如 Hibernate中String hql="select userName from Users " 或Sql 语句中String sql="select user_name from Users"
public String init(){
userList= dao.getUserNameList();
return INPUT;
}
struts.xml
关键的那个return
<result name="input">/user.jsp</result> // 斜杠别漏了
user.jsp页面
<s:select name="user.userName" list="uesrList" /> 无须用<s:iterater>迭代出来
最后想强调下:一定要经过action 转向到Jsp页面,效果才能出来..
#11
<s:iterator value="students" id="usr">
<s:property value="name"/></s:iterator>
<s:property value="name"/></s:iterator>
#12
<s:iterator value="students" id="student">
<s:property value="#student.name"/>
</s:iterator>
#13
建议不要用S标签,我们项目在小型机上部署后,这东西超级耗内存!
#14
应该是这样吧?
<s:iterator value="students">
<s:property value="name"/>
</s:iterator>
<s:iterator value="students">
<s:property value="name"/>
</s:iterator>
#15
应该是这样的
#16
<s:iterator var="students" value="#session.students">
${students.Name}
</s:iterator>
value="#session.students"这个students是存在session中的值。
写成这样的吧,我一直都这样写的。或者写这种
<c:forEach var="lists" items="${sessionScope.students}">
${students.Name}
</c:forEach>
items="${sessionScope.students}"这个students是存在session中的值。
这两中都可以遍历表。
${students.Name}
</s:iterator>
value="#session.students"这个students是存在session中的值。
写成这样的吧,我一直都这样写的。或者写这种
<c:forEach var="lists" items="${sessionScope.students}">
${students.Name}
</c:forEach>
items="${sessionScope.students}"这个students是存在session中的值。
这两中都可以遍历表。
#17
不好意思,写错了,是这样的
<c:forEach var="lists" items="${sessionScope.students}">
${lists.Name}
</c:forEach>
items="${sessionScope.students}"这个students是存在session中的值。
<c:forEach var="lists" items="${sessionScope.students}">
${lists.Name}
</c:forEach>
items="${sessionScope.students}"这个students是存在session中的值。
#18
帮我看看我的,
<s:iterator value="serverList" id="list">as
<s:property value="serverList.size"/>
<s:property value="serverinfo.serverName"/>
</s:iterator>
这个size能打出来是1,而且serverName里面也有值,为什么没有打印出来呢?
#19
两种方式:第一种
<s:iterator value="students">
<s:property value="name"/>
</s:iterator>
这种方法是因为struts2会将students中得每一个student对象放入当前valueStack中的root区域中,你可以直接取到对应属性的值
第二种
<s:iterator value="students" var="student">
<s:property value="#student.name"/>
</s:iterator>
第二种方式是将students中的每一个对象赋值给student变量,然后将该变量放入valueStack的context区域中,所以要使用#student.name才能取到值
谢谢
<s:iterator value="students">
<s:property value="name"/>
</s:iterator>
这种方法是因为struts2会将students中得每一个student对象放入当前valueStack中的root区域中,你可以直接取到对应属性的值
第二种
<s:iterator value="students" var="student">
<s:property value="#student.name"/>
</s:iterator>
第二种方式是将students中的每一个对象赋值给student变量,然后将该变量放入valueStack的context区域中,所以要使用#student.name才能取到值
谢谢
#20
学习学习~~~~