2013-10-22 65 views
0

我想將逗號添加到從數據庫檢索的字符串中。如何將逗號添加到jsp頁面中的字符串

在下面的代碼

我是從數據庫中,他們的工作得到員工都是老師

這裏是我的代碼

<td> 
    <% 
     sql2 = "SELECT empname FROM users WHERE job = ? "; 
     ps2 = connection.prepareStatement(sql2); 
     ps2.setString(1, jobname); 
     rs2 = ps2.executeQuery(); 

     while (rs2.next()){ 
       String emp= rs2.getString("empname"); 
    %>       
     <%=emp%> 

    <% } %> 
</td> 

回答

1

您可以在empname

ArrayList<String> empList = new ArrayList<String>(); 
while (rs2.next()) 
{ 
    String emp= rs2.getString("empname"); 
    empList.add(emp);     
} 

那麼E ArrayList創建可用於JSTLisLast()

<c:forEach items="${empList}" var="empName" varStatus="loop"> 
    <c:out value="${empName}" /> 
    <c:if test="${!loop.last}">,</c:if> 
</c:forEach>  

您可以使用isLast()方法ResultSet不過, 我建議你不要使用小腳本在JSP
how to avoid Java Code in JSP-Files?

對於JSTL工作,你只需要提出jstl-1.2.jar/WEB-INF/lib
和JSP

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

更新答案評論

它不打印結果。

腳本是嵌入在頁面代碼中的原始Java,如果您在腳本中聲明瞭變量,那麼它們將成爲嵌入在頁面中的局部變量。

相反,JSTL完全使用作用域屬性,無論是在頁面,請求還是會話範圍。
因此,要使用在Scriptlets中創建的ArrayList empList,您需要修改代碼。 see this answer

<% 
ArrayList<String> empList = new ArrayList<String>(); 
while (rs2.next()) 
{ 
    String emp= rs2.getString("empname"); 
    empList.add(emp);     
} 
pageContext.setAttribute("empList", empList);//pageContext is implicit object available 
%> 

然後上面提到的JSTL代碼會正常工作。

相關鏈接

+0

它不打印結果。 –

+0

@Sumit:對不起。我忘了告訴你關於JSTL需要的jar。看到我更新的答案。看到我更新的帖子。這是工作。我測試過了。 –

+1

喲感謝您的幫助! :) –

1

您可以使用rs2.isLast()來檢查當前ResultSet是最後一個記錄和不添加,在這種情況下。然而,這是昂貴的,因爲JDBC驅動程序會向前取一行,以確定當前行是否爲結果集中的最後一行。

0

這將是足夠的..

<% 
    sql2 = "SELECT empname FROM users WHERE job = ? "; 
    ps2 = connection.prepareStatement(sql2); 
    ps2.setString(1, jobname); 
    rs2 = ps2.executeQuery(); 
    boolean b = rs2.last(); 
    int numberOfRecords = 0; 
    if(b){ 
    numberOfRecords = rs.getRow(); 
    System.out.println(numberOfRecords); 
    } 
rs = stmt.executeQuery(sql); 
while (rs.next()){ 
     if(numberOfRecords>1) 
     { 
     String emp= rs.getString("bank")+","; 

     } 
     else 
     { 

     String emp=rs.getString("bank"); 

     } 
     numberOfRecords--; 
%>       
    <%=emp%> 

<% } %> 
相關問題