为什么我的List为空

来源:百度知道 编辑:UC知道 时间:2024/05/30 04:07:19
我老是获得不了值 然后也找不到什么原因 所以只能求助百度的各位大虾们 谢谢!

这是我的looknews.jsp页面
<%
List newslist = (List)request.getAttribute("newsList");
if(newslist != null){
for(int i=0;i<newslist.size();i++){
News news = (News)newslist.get(1);
%>
<tr>
<td> <%news.getNewsTitle(); %> </td>
<td> <%news.getUsers().getUsersName();%> </td>
</tr>
<%}}//结束for循环%>

这是我的数据层Looknew.java
数据层是一个servlet页面 我的开发环境是MyEclipse 但是没有搭建SSH
while(rs.next())
{
News news = new News();
news.setNewsTitle(rs.getString("news_title"));
news.setNewsContent(rs.getString("news_content"));

Users users = new Users();
users.setUsersId(Integer.parseInt(rs.getString("news_users_id")));

<td> <%news.getNewsTitle(); %> </td>
<td> <%news.getUsers().getUsersName();%> </td>
应该是
<td> <%=news.getNewsTitle(); %> </td>
<td> <%=news.getUsers().getUsersName();%> </td>
吧?
得while(rs.next()&&rs2.next())吧
不该用两个rs 你怎么保证rs2取出的users就是news的Users?

request.setAttribute("newsList", list);
应该放在循环外面
然后确认你的数据库是不是有数据

在Servlet中setAttribute需要在while循环外面.

而且rs与rs2需要一起next才可以,因此还需要在while中判断if (rs2.next())
再进行下面的操作

<%news.getUsers().getUsersName();%>
这个是什么东西?!

表达式应该这么写<%=news.getUsers().getUsersName() %>
要加等号(=) 没有后面的分号(;)

前提 你要获取到了数据哈!
还有List是从0开始取的
你取get(1) ,希望你至少有2条数据啊!