Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.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
Java 使用jspel显示来自不同组的用户列表_Java_Jquery_Jsp_Servlets - Fatal编程技术网

Java 使用jspel显示来自不同组的用户列表

Java 使用jspel显示来自不同组的用户列表,java,jquery,jsp,servlets,Java,Jquery,Jsp,Servlets,我试图用手风琴显示一组成员的列表。为此,我正在使用jsp、el和servlet 下面是两个数据库表,用于理解该问题 上面是两个表,分别是groups和groupu成员。我正在从它们访问数据,并将它们存储在两个java对象中,并列出这两个对象 我的servlet如下所示 //current user's user-name String currentUser = request.getParameter("username"); String group_name=null

我试图用手风琴显示一组成员的列表。为此,我正在使用jsp、el和servlet

下面是两个数据库表,用于理解该问题

上面是两个表,分别是groups和groupu成员。我正在从它们访问数据,并将它们存储在两个java对象中,并列出这两个对象

我的servlet如下所示

//current user's user-name
    String currentUser = request.getParameter("username");

    String group_name=null;

    String GetGroupInfo = "select * from groups where creator_username=?";
    //get all the groups where the creator's user-name is currentUser


    try {

        List<Group> groups = new ArrayList<Group>();
        List<GroupDetails> groupList = new ArrayList<GroupDetails>();

        ps3 = currentCon.prepareStatement(GetGroupInfo);
        ps3.setString(1,currentUser);
        rs3 = ps3.executeQuery();

        //set values for Group object
        while(rs3.next())
        {
            Group groupObj = new Group();

            groupObj.setGroup_id(rs3.getString("group_id"));
            groupObj.setGroup_name(rs3.getString("group_name"));
            groupObj.setGroup_description(rs3.getString("group_description"));
            groupObj.setCreator_username(rs3.getString("creator_username"));
            groupObj.setCreated_on(rs3.getString("created_on"));

            groups.add(groupObj);

            String query = "select * from group_members where creator_username=? and group_id=?";

            ps = currentCon.prepareStatement(query);
            ps.setString(1,currentUser);
            ps.setString(2, groupObj.getGroup_id());

            rs = ps.executeQuery();


            while(rs.next())
            {
                GroupDetails groupInfo = new GroupDetails();

                groupInfo.setIs_admin(rs.getString("is_admin"));
                groupInfo.setAdded_on(rs.getString("added_on"));
                groupInfo.setCreator_username(rs.getString("creator_username"));
                groupInfo.setGroup_name(rs.getString("group_name"));
                groupInfo.setGroup_id(rs.getString("group_id"));
                groupInfo.setUser_name(rs.getString("user_name"));
                groupInfo.setMember_id(rs.getString("member_id"));

                String memberFullname = "select firstname,lastname,user_type from users where username ='" + groupInfo.getUser_name() + "'";

                ps2 = currentCon.prepareStatement(memberFullname);
                rs2 = ps2.executeQuery();

                if(rs2.next())
                {
                    String member_fullname = rs2.getString("firstname") + " " + rs2.getString("lastname");
                    groupInfo.setMember_name(member_fullname);
                    groupInfo.setMember_usertype(rs2.getString("user_type"));
                }

                group_name = groupInfo.getGroup_name();
                groupList.add(groupInfo);
            }

        }

        //request group name
        request.setAttribute("group_name",group_name);
        request.setAttribute("individual_group", groups);
        request.setAttribute("groupList", groupList);
        request.setAttribute("currentUser", currentUser);

        RequestDispatcher rd = request.getRequestDispatcher("/ViewAllExistingGroups");
        rd.forward(request, response);
    } catch (SQLException e) {
        e.printStackTrace();
    }   
//当前用户的用户名
字符串currentUser=request.getParameter(“用户名”);
字符串组_name=null;
String GetGroupInfo=“从creator_username=?”所在的组中选择*;
//获取创建者用户名为currentUser的所有组
试一试{
列表组=新的ArrayList();
List groupList=new ArrayList();
ps3=当前Con.prepareStatement(GetGroupInfo);
ps3.设置字符串(1,当前用户);
rs3=ps3.executeQuery();
//设置组对象的值
while(rs3.next())
{
groupgroupobj=新组();
groupObj.setGroup_id(rs3.getString(“group_id”);
groupObj.setGroup_name(rs3.getString(“group_name”);
groupObj.setgroupu描述(rs3.getString(“groupu描述”);
groupObj.setCreator_用户名(rs3.getString(“creator_用户名”));
groupObj.setCreated_on(rs3.getString(“created_on”));
groups.add(groupObj);
String query=“从组成员中选择*,其中创建者\用户名=?和组\ id=?”;
ps=当前控制准备状态(查询);
ps.setString(1,当前用户);
ps.setString(2,groupObj.getGroup_id());
rs=ps.executeQuery();
while(rs.next())
{
GroupDetails groupInfo=新的GroupDetails();
setIs_admin(rs.getString(“is_admin”);
groupInfo.setAdded_on(rs.getString(“added_on”);
groupInfo.setCreator_用户名(rs.getString(“creator_用户名”);
groupInfo.setGroup_name(rs.getString(“group_name”);
groupInfo.setGroup_id(rs.getString(“group_id”);
groupInfo.setUser_name(rs.getString(“user_name”);
groupInfo.setMember_id(rs.getString(“member_id”);
String memberFullname=“从username=”+groupInfo.getUser_name()+””的用户中选择firstname、lastname、user_类型;
ps2=当前Con.prepareStatement(memberFullname);
rs2=ps2.executeQuery();
if(rs2.next())
{
字符串成员_fullname=rs2.getString(“firstname”)+“”+rs2.getString(“lastname”);
groupInfo.setMember\u name(member\u fullname);
groupInfo.setMember_usertype(rs2.getString(“user_type”);
}
group_name=groupInfo.getGroup_name();
groupList.add(groupInfo);
}
}
//请求组名
setAttribute(“组名称”,组名称);
request.setAttribute(“单个组”,组);
setAttribute(“groupList”,groupList);
setAttribute(“currentUser”,currentUser);
RequestDispatcher rd=request.getRequestDispatcher(“/ViewAllExistingGroups”);
转发(请求、响应);
}捕获(SQLE异常){
e、 printStackTrace();
}   
Jsp页面以手风琴样式显示组-组名称显示在手风琴标题中,成员显示在手风琴内容中

<body>
<% String username = (String)request.getAttribute("currentUser"); %>
    <div class="container">
        <div class="panel panel-default">
            <div class="panel panel-heading">

            </div>

            <div class="panel panel-body">


                                <div id="accordion">
                            <c:forEach var="group1" items="${individual_group}">


                                    <h5> ${group1.group_name}</h5>

                                    <div>
                                    <ul class="list-group"> 
                                        <li class="list-group-item title">
                                            <strong style="display:inline;"> About: <h5 style="display: inline;"> ${group1.group_description}</h5></strong>
                                        </li> 
                                        <c:forEach var="group" items="${groupList}">
                                            <li class="list-group-item title">
                                            <img src="${pageContext.request.contextPath}/css/images/user.png" class="img img-circle" style="display: inline" />
                                            <strong style="display:inline;">  ${group.member_name} <h5 style="display: inline;">(${group.member_usertype})</h5></strong>
                                            </li> 
                                        </c:forEach>
                                    </ul>
                                    </div>

                            </c:forEach>
                        </div>


                <br/>
                <form action="ListConnectedUsers" method="get">
                    <input type="hidden" name="username" value="<%=username %>" />
                    <input type="submit" class="btn btn-default pull-left" value="Back"/>               
                </form>
            </div>

            <div class="panel panel-footer">

            </div>
        </div>
    </div>
</body>

${group1.group_name}
  • 关于:${group1.group\u description}
  • ${group.member\u name}(${group.member\u usertype})

这就是我在jsp页面中看到的内容。但所有成员都显示在每组手风琴面板中

每个手风琴部分都显示了group_members表中的所有成员。 我希望它在“BEIT教室”中显示三名成员,在“3个伙伴”中显示三名成员,在“SUDD GROUP”中显示一名成员

如果需要,我希望以我解释的方式提供有关jsp el或任何条件的帮助


很抱歉问了这么长的问题,但我试着正确地解释了。请帮助

我想我可以创建一个对象,在其中我可以绑定组名和组成员全名