使用Jstl动态数据库表显示
我试图使用JSTL显示数据库数据,如下所示:
我的道
public ArrayList getStudentFirstName(){ ArrayList v = new ArrayList(); Connection conn; try{ conn = db.getDbConnection(); String sql = "select STU_FIRST_NAME, STU_MIDDLE_NAME, LAST_NAME from college_students_master"; PreparedStatement ps = conn.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while(rs.next()){ String firstname = rs.getString("STU_FIRST_NAME"); String middlename = rs.getString("STU_MIDDLE_NAME"); String lastname = rs.getString("LAST_NAME"); v.add(firstname); v.add(middlename); v.add(lastname); } }catch(Exception asd){ System.out.println(asd.getMessage()); } return v; }
我的servlet:
public class displayservlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DetailsDao dd = new DetailsDao(); request.setAttribute("firstname", dd.getStudentFirstName()); RequestDispatcher view = request.getRequestDispatcher("DemoJSP.jsp"); view.forward(request, response); } }
我的JSP:
JSP Page The Demo Object Names Are:-
${firstname}
我的展示:
第一个Name和MiddleName都在同一列上。 使用Jstl显示动态表的最佳方法是什么。 一个例子也会被赞赏。
编辑:我的预期输出是:我添加了额外的一列:
尝试这个,
创建一个名为Name的新Bean类
public class Name { private String firstName; private String middleName; private String lastName; // relavent getter setter }
改变你的方法getStudentFirstName()
public ArrayList getStudentFirstName(){ ArrayList v = new ArrayList (); Connection conn; try{ conn = db.getDbConnection(); String sql = "select STU_FIRST_NAME, STU_MIDDLE_NAME from college_students_master"; PreparedStatement ps = conn.prepareStatement(sql); ResultSet rs = ps.executeQuery(); Name name = null; while(rs.next()){ name = new Name(); name.setFirstName(rs.getString("STU_FIRST_NAME")); //set your firstName name.setMiddleName(rs.getString("STU_MIDDLE_NAME")); //set your MiddleName name.setLastName(rs.getString("LAST_NAME")); //set your LastName v.add(name); } }catch(Exception asd){ System.out.println(asd.getMessage()); } return v; }
改变你的c:forEach
循环
First Name Middle Name Last Name ${name.firstName} ${name.middleName} ${name.lastName}