我想根據請求將我自己的對象數組發送到JSP頁面。將servlet對象數組發送到JSP
在servlet中的這部分代碼中,我將獲取我的數據,將它放在對象數組中,並將它們設置爲請求。
if (request.getParameter("todo").equals("show_article_list")) {
try {
Article[] articles = this.getArticleList();
request.setAttribute("articles", articles);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("article/article_list.jsp");
dispatcher.forward(request, response);
} catch (Exception e) {
}
}
public Article[] getArticleList() throws Exception {
db data = new db();
Connection con = data.OpenConnection();
PreparedStatement statement = con.prepareStatement("SELECT * FROM `article`");
ResultSet result = statement.executeQuery();
int size = 0;
if (result != null)
{
if (result.last()) {
size = result.getRow();
result.beforeFirst();
}
}
Article[] articles = new Article[size];
int i = 0;
while(result.next()){
articles[i] = new Article (
result.getInt(1),
result.getString(2),
result.getString(3),
result.getString(4));
i++;
}
return articles;
}
這是我的課:
public class Article {
public Integer getId(){return id;}
public String getTitle(){return title;}
public void setTitle(String title){this.title = title;}
public String getText(){return text;}
public void set(String text){this.text = text;}
public String getDescription(){return description;}
public void setDescription(String description){this.description= description;}
private Integer id;
private String title;
private String text;
private String description;
public Article(Integer Id, String Title, String Text, String Description)
{
id = Id;
title = Title;
text = Text;
description = Description;
}
}
在我的JSP頁面,我想用循環對象request.getAttribute("articles");
這樣的陣列我該怎麼辦呢?
我必須使用<jsp:useBean/>
還是別的?我試圖做的是這樣的:
Article[] articles = request.getAttribute("articles");
但我有一個錯誤:Article cannot be resolved to a type
我做了什麼錯?
謝謝例如...但我有一個問題:當我在JSP上寫入時''c:forEach items =「$ {articles}」var =「article」>'我的循環知道,$ {articles}數據是通過請求從servlet發送的,而不是其他方式...或者我應該注意它的位置,或初始化一個變量'articles' – 2012-02-20 14:11:15
的範圍?做一些像那樣的範圍=「請求」 – 2012-02-20 14:31:46
是的,範圍。 JSP/Servlet API中有4個範圍: 1)應用程序 - 全局範圍[ServletContext](http://bit.ly/xChDI5) 2)會話 - 每個HTTP會話一個[HttpSessionContext](http:// bit.ly/zkPokb) 3)請求 - 每請求一個[ServletRequest](http://bit.ly/wMhTt5) 4)頁 - 處理請求[PageContext](http:// bit。 ly/A0Btl8) 您可以選擇適合您需求的撥款電話。 查看關於此主題的好資料 - [JSP中有哪些不同的範圍?](http://bit.ly/aNUu7i) – 2012-02-20 15:35:39