我想通过请求将自己的对象数组发送到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");“我该怎么做” 循环这种对象数组?
request.getAttribute("articles");
我必须使用<jsp:useBean/>其他东西吗?我试图这样做:
<jsp:useBean/>
Article[] articles = request.getAttribute("articles");
但是我有一个错误: Article cannot be resolved to a type
Article cannot be resolved to a type
我做错了什么?
你可能
<%@ page import="com.foo.bar.Article" %>
Article[] articles = (Article[]) request.getAttribute("articles");
请注意,JSP中不应包含任何Java代码。您应该使用JSPEL,JSTL和其他自定义标签。阅读如何避免JSP文件中的Java代码。