如何使用javascript在jsp中对从数据库生成的html表的列进行求和?

2024-02-29

我正在我的网站上工作,我想通过 jsp 使用 javascript 对 html 表的一列中的值进行求和。我发现了各种可以添加已放入的静态数据的代码,但是当我在代码中使用相同的东西时,它不起作用。

JavaScript 如下:-

<script type="text/javascript">
var debugScript = true;

function computeTableColumnTotal(tableId, colNumber)
{       
  var result = 0;

  try
  {
    var tableElem = window.document.getElementById(tableId);           
    var tableBody = tableElem.getElementsByTagName("tbody").item(0);
    var i;
    var howManyRows = tableBody.rows.length;
    for (i=1; i<(howManyRows-1); i++) // skip first and last row (hence i=1, and howManyRows-1)
    {
       var thisTrElem = tableBody.rows[i];
       var thisTdElem = thisTrElem.cells[colNumber];            
       var thisTextNode = thisTdElem.childNodes.item(0);
       if (debugScript)
       {
          window.alert("text is " + thisTextNode.data);
       } // end if

       // try to convert text to numeric
       var thisNumber = parseFloat(thisTextNode.data);
       // if you didn't get back the value NaN (i.e. not a number), add into result
       if (!isNaN(thisNumber))
         result += thisNumber;
     } // end for

  } // end try
  catch (ex)
  {
     window.alert("Exception in function computeTableColumnTotal()\n" + ex);
     result = 0;
  }
  finally
  {
     return result;
  }

}

function finishTable()
{
  if (debugScript)
    window.alert("Beginning of function finishTable");

    var tableElemName = "hikeTable";
        //idhar column define kar raha hai wo
  var totalMilesPlanned = computeTableColumnTotal("hikeTable",2);
  var totalMilesHiked = computeTableColumnTotal("hikeTable",3);

    try 
  {
    var totalMilesPlannedElem = window.document.getElementById("totalMilesPlanned");
    document.getElementById("total_1").innerHTML = totalMilesPlanned;
    var totalMilesHikedElem = window.document.getElementById("totalMilesHiked");
    document.getElementById("total_2").innerHTML = totalMilesHiked ;

   }
   catch (ex)
   {
     window.alert("Exception in function finishTable()\n" + ex);
   }

   return;
}
</script>

当 html 表像这样时,这有效

<html>
<body onload="finishTable();">
<tbody>
<table  id="hikeTable" align="center" border="1" bordercolor="lightslategray">
   <tr>
      <th scope="col">Locations</th>
      <th scope="col"> Date </th>
      <th >Miles (planned)</th>
      <th>Miles (actual)</th>

    </tr>
    <tr>
      <td>Alapocas Woods </td>
      <td>02/18/06</td>
      <td>1324</td>
      <td>1</td>

    </tr>

<tr>
      <td>Alapocas </td>
      <td>02/18/06</td>
      <td>1176576523</td>
      <td>23</td>

    </tr>

<tr>
      <td>Alapocas </td>
      <td>02/18/06</td>
      <td>67</td>
      <td>98</td>
    </tr>
<tr>
      <td colspan="2">Total </td>   
      <td id="total_1"></td>
      <td id="total_2"></td>
    </tr>
</tbody>
<table>
</html>

但我的桌子是这样的:-

<html>
<body onload="finishTable();">
<tbody>
<table  id="hikeTable" align="center" border="1" bordercolor="lightslategray">
   <tr>
      <th scope="col">Locations</th>
      <th scope="col"> Date </th>
      <th >Miles (planned)</th>
      <th>Miles (actual)</th>

    </tr>
<%Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:dir","hr","hr");
java.sql.Statement statement = conn.createStatement();
java.sql.ResultSet rs = statement.executeQuery(searchquery);

while(rs.next()){
int buildarea = rs.getInt("build_area");
int numberoflevels = rs.getInt("no_of_levels");
%>
    <tr>
      <td>Alapocas Woods </td>
      <td>02/18/06</td>
      <td><%=buildarea%></td> //here a value comes from database
      <td>1</td>

    </tr>

<tr>
      <td>Alapocas </td>
      <td>02/18/06</td>
      <td>bumberoflevels</td>
      <td>23</td>

    </tr>


      <td colspan="2">Total </td>   
      <td id="total_1"></td>
      <td id="total_2"></td>
    </tr>
</tbody>
<%}%>
<table>
</html>

请帮忙!!


只是其中一些:

int totalBuildArea = 0;
int totalNoOfLevels = 0;
while(rs.next()){
int buildarea = rs.getInt("build_area");
int numberoflevels = rs.getInt("no_of_levels");
%>
...
...

总行应该在循环之外。

...
...
totalBuildArea += buildarea ;
totalnumberOfLevels  += numberoflevels  ;
<%}%>
<td colspan="2">Total </td>   
      <td id="total_1"><%=totalBuildArea %></td>
      <td id="total_2"><%=totalnumberOfLevels %></td>

也就是说,

你在做什么听起来一点也不对劲.
其一,从 JSP 访问数据库并不是一个好主意。您需要的是良好的三轮胎架构。你可以使用struts之类的框架。或者至少拥有您自己的业务逻辑类,并从您的 servlet 调用它们。

即使出于某种原因这是唯一的方法,您的 JSP 本身看起来也不正确。

考虑一下:

<tr>
      <td>Alapocas Woods </td>
      <td>02/18/06</td>
      <td><%=buildarea%></td> //here a value comes from database
      <td>1</td>

    </tr>

<tr>
      <td>Alapocas </td>
      <td>02/18/06</td>
      <td>bumberoflevels</td>
      <td>23</td>

部分数据是硬编码的。部分数据来自数据库。列不正确。<tr>s不要结束。对我来说,这看起来不像实际的代码。或者确实如此,但您没有尽全力提供所有细节。

尝试使用 JSP。想出一个你想要的结构。可能有些部分您不知道如何做。没事儿。问他们问题。我们随时为您提供帮助。

但只有当您提出要求时我们才能提供帮助正确的问题 http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx。一个简单的规则:想象一下你正在尝试回答这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用javascript在jsp中对从数据库生成的html表的列进行求和? 的相关文章

  • Oo 任何 IDE 中的 javascript 代码补全

    你知道有什么IDE可以自动完成这种代码吗 我这里有一个 javascript 类生成器 function var core bind function method scope if method instanceof Function t
  • 如何将udp发送到udp node.js服务器?

    我对此很陌生 所以我真的不知道我在做什么 但我已经设置了一个 node js udp 服务器 我想从客户端 来自网站 向它发送一个数据包 但我不知道如何在 javascript 中做到这一点 或者是否可能 我不是在研究如何从 Node js
  • 仅当表单已提交时才触发 jQuery 表单验证?

    不引人注目的验证基于这样的想法 don t进行表单验证 直到用户提交表单 一旦发生这种情况 如果表单上的某些内容无效 那么一旦用户更改了每个字段 就会立即验证它 我想做的是 不显眼地 触发表单元素的验证 也就是说 only如果用户已尝试提交
  • VBA / HTML / jQuery 选择自动完成 - 在列表中选择

    我正在尝试使用 Excel 中的 VBA 在网站的列表中选择一个值 这不是一个 正常列表 该网站使用 jQuery 选择自动完成 如下所示 example http davidwalsh name demo jquery chosen ph
  • 如何使用 JavaScript 中的值填充下拉列表?

    我在 Tridion CMS 扩展中的功能区工具栏按钮中添加了一个按钮 单击该按钮后 将显示一个弹出页面 其中包含两个下拉菜单 通过更改第一个下拉控件中的值 我应该填充第二个下拉控件的值 就我而言 我正在使用ASP drop down li
  • 非 DOM 对象上的 jQuery 自定义事件

    我最近阅读了一些代码 其功能如下 bob name Bob Smith rank 7 bob bind nameChanged function bob trigger nameChanged 这似乎有效 但我在 jQuery 文档或源代码
  • Leaflet js虚构地图

    我是 Leaflet 的新手 我想了解如何创建完全交互式的虚构地图 我有一张图像想要转换为传单地图 该图像基本上像图表一样具有许多连接和点 我想首先将该图像转换为地图 能够将鼠标悬停在这些点上 突出显示它们并显示有关它们的信息 并且还可以在
  • Node.js - console.log 不显示数组中的项目,而是显示 [Object]

    我在注销对象内数组的内容时遇到问题 实际的物体看起来像这样 var stuff accepted item1 item2 rejected response Foo envelope from The sender to new item1
  • 仅一页 JavaScript 应用程序

    您是否尝试过单页 Web 应用程序 即浏览器仅从服务器 获取 一页 其余部分由客户端 JavaScript 代码处理 此类 应用程序页面 的一个很好的例子是 Gmail 对于更简单的应用程序 例如博客和 CMS 使用这种方法有哪些优点和缺点
  • 在为 RXJS 可观察量编写测试时,如何避免让调度程序通过我的业务逻辑?

    我发现使某些测试通过的唯一方法是显式地将调度程序传递给函数 为了便于说明 请考虑以下函数 function doStuff stream return stream delay 100 filter x gt x 2 0 map x gt
  • javascript中按tab键时如何调用函数?

    我有一个这样的功能 function whenEmpty field if field value field style backgroundColor ffcccc alert Please fill the field field f
  • 如果链接包含特定文本,jQuery 将类添加到 href

    我的网站上的列表中有一些动态填充的链接 这些链接链接到文件 是否可以使用 jQuery 查看文件名是否以 pdf 结尾 并在 href 或类似的链接文本以 mp3 结尾时添加一个类 例如 我的列表中有以下链接 文件1 pdf 歌曲1 mp3
  • 如何在 Angular 中从父组件访问子组件?

    I have mat paginator在子组件a中 如下所示 子组件 html
  • 当用户单击链接时,如何记录 MixPanel 事件?

    当用户单击某种类型的链接时 我试图在 MixPanel 中记录一个事件 我正在使用 JQuery 不引人注意地完成此操作 据我所知 我需要添加一个回调函数 以便在记录事件后将用户带到 URL 这是我正在使用的代码 不幸的是
  • JavaScript onresize 事件多次触发

    我在尝试仅在触发 onresize 事件时运行一次函数时遇到一些麻烦 我已经看过这个问题DOM onresize 事件 https stackoverflow com questions 1500312 javascript onresiz
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • 在 Javascript 中减少/分组数组

    基于this https stackoverflow com a 40774906 3254598例如 我想以稍微不同的方式按对象进行分组 结果应该如下 key audi items make audi model r8 year 2012
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没

随机推荐