繁体   English   中英

在 JSTL 中显示 bean

[英]Displaying bean in JSTL

我在使用 JSTL 显示 bean 的详细信息时遇到问题。 我的servlet代码如下

 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();

    String username =request.getParameter("username");
    String password = request.getParameter("password");
    try {

        con = connection.connectionfile();

        pstmt=con.prepareStatement("select * from Login where Username=? and Password=?");
        pstmt.setString(1,username);
        pstmt.setString(2, password);
        rs = pstmt.executeQuery();

        if(rs.next())
        {
            ListGrabber grabber = new ListGrabber();
            List<DvdDetail> list = new ArrayList<DvdDetail>();
            list=grabber.getBeanList();

            request.setAttribute("listbean",list);
            RequestDispatcher view = request.getRequestDispatcher("listdetail.jsp");

            view.forward(request, response);


        }
        else
        {
            response.sendRedirect("loginerror.html");
        }

    } 
     catch(Exception ex)
     {
        ex.printStackTrace();
     }

    finally {            
        out.close();
        try
        {
            rs.close();
            con.close();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
    }
}

豆如下:

   public class DvdDetail {

private int id;
private String film_name;
private String released_date;
private String directed_by;
private String actor_name;
private String actress_name;
private int price;
private String banner;

public DvdDetail(int id,String film_name,String released_date,String directed_by,String actor_name,String actress_name,int price,String banner)
{

    this.id=id;
    this.film_name=film_name;
    this.released_date=released_date;
    this.directed_by=directed_by;
    this.actor_name=actor_name;
    this.actress_name=actress_name;
    this.price=price;
    this.banner=banner;

}

public String getActor_name() {
    return actor_name;
}

public void setActor_name(String actor_name) {
    this.actor_name = actor_name;
}

public String getActress_name() {
    return actress_name;
}

public void setActress_name(String actress_name) {
    this.actress_name = actress_name;
}

public String getBanner() {
    return banner;
}

public void setBanner(String banner) {
    this.banner = banner;
}

public String getDirected_by() {
    return directed_by;
}

public void setDirected_by(String directed_by) {
    this.directed_by = directed_by;
}

public String getFilm_name() {
    return film_name;
}

public void setFilm_name(String film_name) {
    this.film_name = film_name;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public int getPrice() {
    return price;
}

public void setPrice(int price) {
    this.price = price;
}

public String getReleased_date() {
    return released_date;
}

public void setReleased_date(String released_date) {
    this.released_date = released_date;
}



}

如何在 JSP 页面中打印出多个电影名称但仅使用 JSTL。 在JSP中,我通常将其解决为

List<DvdDetail> list = request.getParameter("listbean");
for(int i=0;i<list.size();i++)
{
  DvdDetail bean = list.get(i);
  ///displaying usng out.print(bean.getProperty());
}

我需要实现同样的事情,但使用 JSTL。

单击您在问题中添加的 JSTL 标签上的弹出窗口中的信息链接,以获取有关 JSTL 的信息和教程链接。

您想要实现的目标可以是这样的:

<ul>
    <c:forEach var="dvd" items="${listbean}">
        <li><c:out value="${dvd.film_name}"/></li>
    </c:forEach>
</ul>

你可以使用:

<c:forEach var="dvdDetail" items="${listbean}">
      ${dvdDetail.film_name}
      ${dvdDetail.actor_name}
     ...

</c:forEach>

如果您是 JSTL 的新手,您应该检查一下 上面有一些链接。 希望它有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM