2015-09-05 92 views
0

我试图根据您在另一页上的下拉列表中选择的名称在表中显示数据库中的数据。但我不明白你如何比较标签内的jsp字符串? 我的下拉列表是从另一个.jsp页面上的数据库填充的,名为“dropselect”。我知道你可以在< %%>里面得到名字,但是不能在标签内部访问它?在c:if标签中访问JSP代码?

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <link href="newcss.css" rel="stylesheet" type="text/css"> 
    <title>JSP Page</title> 
</head> 
<body> 
    <table> 
     <tr> 
      <th>ID</th> 
      <th>E-mail</th> 
      <th>Full name</th> 
      <th>SQL</th> 
      <th>Collection</th> 
      <th>Req</th> 
      <th>OS</th> 
      <th>Exam Project</th> 
      <th>Attendance</th> 
      <th>Total</th> 
     </tr> 
     <c:forEach var="user" items="${listUsers.rows}"> 
      <% 
       String selected = (String)request.getParameter("dropselect"); 
      %> 
      <c:if test="${user.fullname eq selected}">  
       <tr> 
        <td id="id"><c:out value="${user.id}"/></td> 
        <td><c:out value="${user.email}"/></td> 
        <td><c:out value="${user.fullname}"/></td> 
        <td id="midt"><c:out value="${user.sp_sql}"/></td> 
        <td id="midt"><c:out value="${user.sp_coll}"/></td> 
        <td id="midt"><c:out value="${user.sp_req}"/></td> 
        <td id="midt"><c:out value="${user.sp_os}"/></td> 
        <td id="midt"><c:out value="${user.sp_examp}"/></td> 
        <td id="midt"><c:out value="${user.sp_att}"/></td> 
        <td id="midt"><c:out value="${user.total}"/></td> 
       </tr> 
      </c:if> 

     </c:forEach> 
    %> 
    </table> 

    <form method="post" action="index.jsp"> 
     <input type="submit" value="Tilbage"> 
    </form> 

</body> 

+0

你明白,你能提供什么样的异常堆栈跟踪? –

+0

没有得到异常。代码可以工作,但是表格永远不会从数据库中填充,因为在中选择的内容不是空的,它将永远不会显示表中的任何内容。我只想要一个变量字符串内的标签。如果我写但它只会始终显示相同的名称,我希望能够从下拉列表中选择一个名称,然后按下一个按钮,将我带到新页面。从那里我想填写一张表格,其中包含与该名称关联的数据库中的数据。 – Krissen

+0

将此代码放在表格之前<% String selected =(String)request.getParameter(“dropselect”); out.println(“selected value =”+ selected); %>确保该值不为空。该行逻辑上应该是你的foreach循环。 –

回答

0

如果你的参数dropselect不为空,你可以试试这个代码

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <link href="newcss.css" rel="stylesheet" type="text/css"> 
    <title>JSP Page</title> 
</head> 
<body> 
<table> 
    <tr> 
    <th>ID</th> 
    <th>E-mail</th> 
    <th>Full name</th> 
    <th>SQL</th> 
    <th>Collection</th> 
    <th>Req</th> 
    <th>OS</th> 
    <th>Exam Project</th> 
    <th>Attendance</th> 
    <th>Total</th> 
    </tr> 
    <c:forEach var="user" items="${listUsers.rows}"> 
    <c:if test="${user.fullname eq param.dropselect}"> 
     <tr> 
     <td id="id"><c:out value="${user.id}"/></td> 
     <td><c:out value="${user.email}"/></td> 
     <td><c:out value="${user.fullname}"/></td> 
     <td id="midt"><c:out value="${user.sp_sql}"/></td> 
     <td id="midt"><c:out value="${user.sp_coll}"/></td> 
     <td id="midt"><c:out value="${user.sp_req}"/></td> 
     <td id="midt"><c:out value="${user.sp_os}"/></td> 
     <td id="midt"><c:out value="${user.sp_examp}"/></td> 
     <td id="midt"><c:out value="${user.sp_att}"/></td> 
     <td id="midt"><c:out value="${user.total}"/></td> 
     </tr> 
    </c:if> 

    </c:forEach> 
</table> 

<form method="post" action="index.jsp"> 
    <input type="submit" value="Tilbage"> 
</form> 

</body> 
+0

这工作! Omg我爱你亲切的陌生人,非常感谢你! – Krissen

+0

不客气:) –