Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将多个值/结果集存储到JavaBean中_Java_Eclipse_Jsp_Javabeans_Rad - Fatal编程技术网

将多个值/结果集存储到JavaBean中

将多个值/结果集存储到JavaBean中,java,eclipse,jsp,javabeans,rad,Java,Eclipse,Jsp,Javabeans,Rad,JSP代码 <form method="get" action="/asq/searchBox"> <select id="searchType" name="searchType"> <option id="username" value="username" >Username</option> <option id="realName" value="realName">Real name</option> <

JSP代码

<form method="get" action="/asq/searchBox">

<select id="searchType" name="searchType">
<option id="username" value="username" >Username</option>
<option id="realName"  value="realName">Real name</option>
<option id="emailAddress" value="emailAddress">Email Address</option>
<option id="interest" value="interest">Interest</option>
</select>
<input type="text" name="searchBox" id="searchBox"/>
<br>
<input type="submit" name="submit" value="Submit" />
</form>
Servlet代码

String searchType = request.getParameter("searchType");
        String searchText = request.getParameter("searchBox");

        Friends searchBean = new Friends();

        if(searchType.equals("username") == true){
            try {

            //SQL Statement
            String sql = "SELECT firstName, lastName, userId, displayname FROM azq.registration WHERE azq.registration.displayname LIKE '%" + searchText+ "%'";
            // create the java statement
            Statement st = conn.createStatement();

            // execute the query, and get a java resultset
            ResultSet rs = st.executeQuery(sql);

            // iterate through the java resultset
            while (rs.next())
            {
                searchBean.setFirstName(rs.getString("firstName"));
                searchBean.setLastName(rs.getString("lastName"));
                searchBean.setUserId(rs.getString("userId"));
                searchBean.setDisplayname(rs.getString("displayname"));
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    else if(searchType.equals("realName")== true){
        try {

            //SQL Statement
            String sql = "SELECT firstName, lastName, userId, displayname FROM azq.registration WHERE azq.registration.firstName LIKE '%" + searchText+ "%' OR azq.registration.lastName LIKE '%" + searchText+ "%'";
            // create the java statement
            Statement st = conn.createStatement();

            // execute the query, and get a java resultset
            ResultSet rs = st.executeQuery(sql);

            // iterate through the java resultset
            while (rs.next())
            {
                searchBean.setFirstName(rs.getString("firstName"));
                searchBean.setLastName(rs.getString("lastName"));
                searchBean.setUserId(rs.getString("userId"));
                searchBean.setDisplayname(rs.getString("displayname"));
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    else if(searchType.equals("emailAddress")== true){
        try {

            //SQL Statement
            String sql = "SELECT firstName, lastName, userId, displayname FROM azq.registration WHERE azq.registration.emailAddress LIKE '%" + searchText+ "%'";
            // create the java statement
            Statement st = conn.createStatement();

            // execute the query, and get a java resultset
            ResultSet rs = st.executeQuery(sql);

            // iterate through the java resultset
            while (rs.next())
            {
                searchBean.setFirstName(rs.getString("firstName"));
                searchBean.setLastName(rs.getString("lastName"));
                searchBean.setUserId(rs.getString("userId"));
                searchBean.setDisplayname(rs.getString("displayname"));
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    else if(searchType.equals("interest")== true){
        try {

            //SQL Statement
            String sql = "SELECT firstName, lastName, userId, displayname FROM azq.registration WHERE azq.registration.interest LIKE '%" + searchText+ "%'";
            // create the java statement
            Statement st = conn.createStatement();

            // execute the query, and get a java resultset
            ResultSet rs = st.executeQuery(sql);

            // iterate through the java resultset
            while (rs.next())
            {
                searchBean.setFirstName(rs.getString("firstName"));
                searchBean.setLastName(rs.getString("lastName"));
                searchBean.setUserId(rs.getString("userId"));
                searchBean.setDisplayname(rs.getString("displayname"));
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    request.getSession(true).setAttribute("searchBean", searchBean);
    request.getRequestDispatcher("resultPage.jsp").forward(request, response);

}
检索代码

<jsp:useBean id="searchBean" class="sg.edu.nyp.sit.bean.Friends" scope="session"/>
<html>
<head>
<title>resultPage</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
    <jsp:getProperty name="searchBean" property="firstName" />
    <jsp:getProperty name="searchBean" property="lastName" />
    <br>
    <jsp:getProperty name="searchBean" property="displayname" />
</body>
</html>

结果页

我允许我的用户设置他们想要搜索的内容(例如用户名、电子邮件等)并输入他们的输入。然后按下提交按钮后,他们将重定向到另一个页面,该页面将显示他们搜索的内容。然而,我目前面临的问题是如何将resultset/多个值存储到Javabean中并显示在另一个JSP页面中


使用JSTL函数还有其他解决方案吗?

您可以使用存储多个对象的
ArrayList
来实现这一点(
Friends

建议您使用servlet作为视图(JSP)和模型(Bean)之间的接口。因此,在模型中,您将应用程序的业务逻辑放在

在好友类中添加此方法:

public List<Friends> loadList(String searchText) {
     List<Friends> Mylist = new ArrayList<Friends>();



    // ... Your code to fill the list 

  return Mylist;

    }
在servlet中,调用此方法获取数据并将其传递给JSP:

// ...
    Friends searchBean = new Friends();

    List<Friends> list = searchBean.loadList(searchText);

        request.setAttribute("recolist", list);

        RequestDispatcher view = request.getRequestDispatcher("My.jsp");
        view.forward(request, response); 
/。。。
Friends searchBean=新朋友();
List=searchBean.loadList(searchText);
setAttribute(“重新列表”,列表);
RequestDispatcher视图=request.getRequestDispatcher(“My.jsp”);
视图。转发(请求、响应);
并在JSP中添加:

<c:forEach var="VAR" items="${recolist}">

${VAR./*WHAT YOU WANT*/}                                                         
</c:forEach>

${VAR./*您想要什么*/}

请注意,VAR是一个Friends对象,您可以调用任何属性,例如:firstName、lastname…

您可以使用存储多个对象的
ArrayList
执行此操作(
Friends

建议您使用servlet作为视图(JSP)和模型(Bean)之间的接口。因此,在模型中,您将应用程序的业务逻辑放在

在好友类中添加此方法:

public List<Friends> loadList(String searchText) {
     List<Friends> Mylist = new ArrayList<Friends>();



    // ... Your code to fill the list 

  return Mylist;

    }
在servlet中,调用此方法获取数据并将其传递给JSP:

// ...
    Friends searchBean = new Friends();

    List<Friends> list = searchBean.loadList(searchText);

        request.setAttribute("recolist", list);

        RequestDispatcher view = request.getRequestDispatcher("My.jsp");
        view.forward(request, response); 
/。。。
Friends searchBean=新朋友();
List=searchBean.loadList(searchText);
setAttribute(“重新列表”,列表);
RequestDispatcher视图=request.getRequestDispatcher(“My.jsp”);
视图。转发(请求、响应);
并在JSP中添加:

<c:forEach var="VAR" items="${recolist}">

${VAR./*WHAT YOU WANT*/}                                                         
</c:forEach>

${VAR./*您想要什么*/}
注意,VAR是一个Friends对象,您可以调用任何属性,例如:firstName、lastname…

可能重复的