Struts2中如何将数据库操作函数中返回的list显示到JSP页面上
数据库的操作函数:查到所有author信息:publicList<Author>all_author(){List<Author>authors=newArrayList...
数据库的操作函数:查到所有author信息:
public List<Author> all_author(){
List<Author> authors=new ArrayList<Author>();
try {
con = connectmysql();
pstmt = (PreparedStatement) ((java.sql.Connection) con).prepareStatement(allauthor_sql);
pstmt.executeQuery();
while(rs.next()){
authors.add(new Author(rs.getString("author_name"),
rs.getString("password"));
}
//System.out.print("isempty?---"+authors.isEmpty());
pstmt.close();
con.close();
} catch (Exception e) {
e.getStackTrace();
}
return authors;}
action中的函数:------------------------------
public String execute(){
Author_dao_jdbc a_dao=new Author_dao_jdbc();
List<Author> list=a_dao.all_author();// 调用上面那个函数赋给一个list
ActionContext.getContext().put("list", author_list);
return "Editor_author_info";
}
JSP端要显示的页面:--------------------------
<body>
可编辑的作者信息: <br>
<table border="1">
<tr>
<td width="50">用户名</td>
<td width="50">密码</td>
</tr>
<s:iterator value="list">//这里试过#request.list没有用
<tr>
<td>
<s:property value="author_name"/>
</td>
<td>
<s:property value="author_password"/>
</td>
</tr>
</s:iterator>
</table>
</body>
查了好些个网页,还是一头雾水。。。
请高手帮帮忙!~
运行的时候,后台连数据库操作函数中注释前的这句System.out.print("isempty?---"+authors.isEmpty());都没输出??似乎execute()都没走到数据库里去。。就直接跳到JSP也页面了,当然结果只有一行标题,下面没列表数据 展开
public List<Author> all_author(){
List<Author> authors=new ArrayList<Author>();
try {
con = connectmysql();
pstmt = (PreparedStatement) ((java.sql.Connection) con).prepareStatement(allauthor_sql);
pstmt.executeQuery();
while(rs.next()){
authors.add(new Author(rs.getString("author_name"),
rs.getString("password"));
}
//System.out.print("isempty?---"+authors.isEmpty());
pstmt.close();
con.close();
} catch (Exception e) {
e.getStackTrace();
}
return authors;}
action中的函数:------------------------------
public String execute(){
Author_dao_jdbc a_dao=new Author_dao_jdbc();
List<Author> list=a_dao.all_author();// 调用上面那个函数赋给一个list
ActionContext.getContext().put("list", author_list);
return "Editor_author_info";
}
JSP端要显示的页面:--------------------------
<body>
可编辑的作者信息: <br>
<table border="1">
<tr>
<td width="50">用户名</td>
<td width="50">密码</td>
</tr>
<s:iterator value="list">//这里试过#request.list没有用
<tr>
<td>
<s:property value="author_name"/>
</td>
<td>
<s:property value="author_password"/>
</td>
</tr>
</s:iterator>
</table>
</body>
查了好些个网页,还是一头雾水。。。
请高手帮帮忙!~
运行的时候,后台连数据库操作函数中注释前的这句System.out.print("isempty?---"+authors.isEmpty());都没输出??似乎execute()都没走到数据库里去。。就直接跳到JSP也页面了,当然结果只有一行标题,下面没列表数据 展开
4个回答
展开全部
public void setAttribute(String name, Object value) {
ServletActionContext.getRequest().setAttribute(name, value);
}
这样获取request对象呢?
页面:
<s:iterator value="#request.list">
ServletActionContext.getRequest().setAttribute(name, value);
}
这样获取request对象呢?
页面:
<s:iterator value="#request.list">
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我用他的答案试了好久没成功 把我自己的写出来吧 看看谁能用上
<s:iterator value="#attr.list" >
<tr>
<td><s:property value="stuNo"/></td>
<td><s:property value="name"/></td>
<td><s:property value="age"/></td>
<td><s:property value="sex"/></td>
<td><s:property value="stuClass"/></td>
<td><input type="submit" value="删除" >
<input type="submit" value="更改" >
</td>
后台action有这么一句
ServletActionContext.getRequest().setAttribute("list", studentList);
<s:iterator value="#attr.list" >
<tr>
<td><s:property value="stuNo"/></td>
<td><s:property value="name"/></td>
<td><s:property value="age"/></td>
<td><s:property value="sex"/></td>
<td><s:property value="stuClass"/></td>
<td><input type="submit" value="删除" >
<input type="submit" value="更改" >
</td>
后台action有这么一句
ServletActionContext.getRequest().setAttribute("list", studentList);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
super_chinaboy 回答。这样做就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不过还想问一下,怎么才能在中间页面中取到上一个登录页面的ID和姓名值,你在JSP页面是怎样取Action中的值的?
追问
我的上一个页面不是登录页面呢,只是一个不传值的连接标签,我就想点下这个连接然后跳到action,通过action中到数据库里拿列表信息后转到jsp页面显示出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询