在jsp上显示数据库表

时间:2014-04-15 08:27:50

标签: java mysql jsp java-ee java-ee-6

我有一个包含以下属性的登录表:

UName密码ID FirstName LastName类别DateOfBirth地址EmailId ContactNo AffiliateGroup

沙迪亚/// ### //////////////////////////////////////// ///////////管理员

哈里什/// ### ///////// 001 ////////////////////////////// /////会员

维诺德/// ### ///////// 002 ////////////////////////////// //客户/////////////////////////////////////////////// /////////////////////////////// Harish

的Rahul /// ### ///////// 003 ////////////////////////////// //客户/////////////////////////////////////////////// /////////////////////////////// Harish

Radha / ### /////////004 //////////////////////////////加盟< / p>

Raaj /// ### ///////// 005 //////////////////////////////客户///////////////////////////////////////////////// //////////////////////////////////拉达

以上只是我们在Web应用程序中使用的登录表的说明。

:    我们有一个管理员,附属机构和客户,有很多注册请求。如果它是关联公司的位置,那么管理员处理它。如果它的客户关联公司的位置处理它。有多个附属公司,他们可以添加自己的客户端,当他们添加客户端时,他们的名称会根据每个客户端详细信息存储在数据库中。现在基于关联公司名称,客户端详细信息应显示在jsp上。上面的代码显示了所有关联公司的所有客户详细信息,但我想要的只是他的(关联公司)组详细信息必须在jsp上显示..

在上表中,当Harish只登录Vinod时,Rahul的详细信息必须是他可以访问的。它应该显示在jsp上。

我试过这样做:

<table id="admclientprofile">

        <tr>
            <th><b>id</b></th>
            <th><b>FirstName</b></th>
            <th><b>LastName</b></th>
            <th><b>Gender</b></th>
            <th><b>Category</b></th>
            <th><b>DateOfBirth</b></th>
            <th><b>Age</b></th>
            <th><b>Address</b></th>
            <th><b>Country</b></th>
            <th><b>State</b></th>
            <th><b>City</b></th>
            <th><b>PinCode</b></th>
            <th><b>UserName</b></th>
            <th><b>EmailId</b></th>
            <th><b>ContactNo</b></th>
            <th><b>MobileNo</b></th>
            <th><b>Status</b></th>
        </tr>


        <c:forEach items="${clients}" var="client">
            <tr>
                <td><c:out value="${client.id}" /></td>
                <td><c:out value="${client.firstName}" /></td>
                <td><c:out value="${client.lastName}" /></td>
                <td><c:out value="${client.gender}" /></td>
                <td><c:out value="${client.category}" /></td>
                <td><c:out value="${client.date}" /></td>
                <td><c:out value="${client.age}" /></td>
                <td><c:out value="${client.address}" /></td>
                <td><c:out value="${client.country}" /></td>
                <td><c:out value="${client.state}" /></td>
                <td><c:out value="${client.city}" /></td>
                <td><c:out value="${client.pinCode}" /></td>
                <td><c:out value="${client.userName}" /></td>
                <td><c:out value="${client.emailId}" /></td>
                <td><c:out value="${client.contactNo}" /></td>
                <td><c:out value="${client.mobileNo}" /></td>
                <td><a href="RejectProfileServlet?id=${client.id}">Reject</a></td>

            </tr>
        </c:forEach>

使用上面的代码,如果harish登录,他能够看到所有客户的详细信息。但我不希望发生这种情况必须能够只查看rahul和vinods数据。

Affiliate Group通过以下方式获得:request.getSession.getAttribute(“user”); 然后将其插入数据库。它不存在于DTO中。

请帮我解决这个问题。提前谢谢。

2 个答案:

答案 0 :(得分:2)

这将仅显示已登录用户的客户端,但会按关联企业名称进行过滤。如果您有多个具有相同名称的客户端,它将无法工作。在这种情况下,您应该通过id比较关联公司。

<!-- Some affiliate data -->

<c:forEach items="clients" var="client">

    <c:if test="${client.affiliateName ==  request.getSession().getAttribute("user")}">    

        <!-- Some client data -->

    </c:if>

</c:forEach>

答案 1 :(得分:0)

首先按用户名(Affiliate)对您的列表进行排序,然后将代码放到这样的代码中。

<c:forEach items="${clients}" var="client">
    <c:set var="previousAffiliate" scope="page" value="${client.Affiliate}"/>
    <c:if test="${client.Affiliate != previousAffiliate}">
        <tr><c:out value="${client.Affiliate}" /></tr>
    </c:if>
    <tr>
        <td><c:out value="${client.id}" /></td>
        <td><c:out value="${client.firstName}" /></td>
        <td><c:out value="${client.lastName}" /></td>
        <td><c:out value="${client.gender}" /></td>
        <td><c:out value="${client.category}" /></td>
        <td><c:out value="${client.date}" /></td>
        <td><c:out value="${client.age}" /></td>
        <td><c:out value="${client.address}" /></td>
        <td><c:out value="${client.country}" /></td>
        <td><c:out value="${client.state}" /></td>
        <td><c:out value="${client.city}" /></td>
        <td><c:out value="${client.pinCode}" /></td>
        <td><c:out value="${client.userName}" /></td>
        <td><c:out value="${client.emailId}" /></td>
        <td><c:out value="${client.contactNo}" /></td>
        <td><c:out value="${client.mobileNo}" /></td>
        <td><a href="RejectProfileServlet?id=${client.id}">Reject</a></td>

    </tr>
</c:forEach>