如何在jsp页面中添加逗号到字符串

时间:2013-10-22 12:23:07

标签: html 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>

3 个答案:

答案 0 :(得分:1)

您可以empname

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

然后您可以使用JSTL isLast()

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

您可以使用ResultSet的{​​{3}}方法,但是, 我建议你不要在JSP中使用scriptlet 见isLast()

要使用JSTL,您只需将how to avoid Java Code in JSP-Files?放入/WEB-INF/lib中 在JSP中

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

更新评论答案

  

它不打印结果。

脚本是嵌入在页面代码中的原始java,如果在脚本中声明变量,那么它们就会成为页面中嵌入的局部变量。

相比之下,JSTL完全使用作用域属性,无论是在页面,请求还是会话范围内 因此,要使用在Scriptlets中创建的ArrayList empList,您需要修改代码。 jstl-1.2.jar

<%
 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代码将正常工作。

相关链接

答案 1 :(得分:0)

您可以使用rs2.isLast()检查当前ResultSet是否为最后一条记录,并且在这种情况下不添加,。然而,这是昂贵的,因为JDBC驱动程序将提取一行以确定当前行是否是结果集中的最后一行。

答案 2 :(得分: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%> 

<% } %>