【问题标题】:Displaying array values in jsp在jsp中显示数组值
【发布时间】:2013-03-19 19:30:33
【问题描述】:

我的代码中有以下两个数组

List<Double> centralityList = (List<Double>) request
            .getAttribute("centralityList");

List<String> labelList = (List<String>) request
            .getAttribute("labelList");.

现在我在这两个数组中有六个字符串值和对应的字符串的 6 个双精度值。我的问题是如何在我的 JSP 中以表格格式显示它们?这可能吗

例如:

标签列表包含 [a,b,c,d,e]
中心性列表包含- [4,6,8,9,0]

所以现在我想显示如下输出:

label list   centrality list

  a                 4
  b                 6
  c                 8.
  .                 .

【问题讨论】:

    标签: java arrays jsp web-applications


    【解决方案1】:

    是的,当然可以。您可以使用 scriplet,但不推荐使用它们。而是使用 JSTL。

    试试这个:

    在你的 JSP 顶部有这个:

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

    以及显示数据的代码

    <c:forEach begin="0" end="${fn:length(centralityList) - 1}" var="index">
       <tr>
          <td><c:out value="${centralityList[index]}"/></td>
          <td><c:out value="${labelList[index]}"/></td>
       </tr>
    </c:forEach>
    

    【讨论】:

      【解决方案2】:

      试试这个代码

          <%
         List<Double> centralityList = (List<Double>) request
                  .getAttribute("centralityList");
      
         List<String> labelList = (List<String>) request
                  .getAttribute("labelList");
      
          String myString="";
      %>
      <table>
      <tr><td>
      <%
      
          for(int i = 0; i < labelList.size(); i++)
          {
             out.println((String)labelList.get(i));
          }
      
          %>
      </td><td>
      <%
      
          for(int i = 0; i < centralityList.size(); i++)
          {
             out.println((double)centralityList.get(i));
          }
      
          %>
      </td>
      </table>
      

      您可以通过使用 JSTL 轻松实现这一点,这是一种更简单、更好的方法,但是在您的代码中我没有找到任何使用 JSTL 的证据,所以这是目前的方法

      【讨论】:

      • 我认为对这些任务使用 JSTL 标签是正确的方法,而不是使用脚本和硬编码逻辑。我更喜欢@Abu 方法。我说的对吗..请回复
      • 是的,当然。我也想建议您使用 JSTL,但由于您没有提及您正在使用 JSTL 的任何地方,所以我给了您这个示例。这就是为什么我建议在答案末尾你可以使用 JSTL。
      【解决方案3】:

      你可以使用JSTL标签并遍历这个-

      <c:forEach var="Array" items="userNames">
      
               // do something with the element
      </c:forEach>
      

      在你的jsp页面中使用这个

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

      【讨论】:

      • 根据您的数组名称使用此值作为项目 - “centralityList”。
      • 在foreach里面你可以这样打印 - ${centrallylist}
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多