使用单元格 ID 为表格中的单元格赋值
Posted
技术标签:
【中文标题】使用单元格 ID 为表格中的单元格赋值【英文标题】:Assign a value to a cell in a table using the cell id 【发布时间】:2013-12-11 14:27:21 【问题描述】:我需要为 jsp 中表格中的特定单元格分配一个值,并创建了一个 id 为“table1”的表格:
现在使用以下命令为该表中的单元格赋值:
<%@ page import="java.io.*"%>
<html>
<head>
</head>
<body>
<table id="table1" border = "1">
<%
var table = document.getElementById("table1");
table.rows[1].cells[2].innerHTML = "UP";
%>
<tr>
<th></th>
<th>DEV1</th>
<th>DEV2</th>
<th>SIT1</th>
<th>SIT2</th>
<th>UAT</th>
<th>NFT</th>
</tr>
<tr>
<td>SFG Process</td>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
<td>row 1, cell 3</td>
<td>row 1, cell 4</td>
<td>row 1, cell 5</td>
<td>row 1, cell 6</td>
</tr>
<tr>
<td>SCC Process</td>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
<td>row 2, cell 3</td>
<td>row 2, cell 4</td>
<td>row 2, cell 5</td>
<td>row 2, cell 6</td>
</tr>
</table>
</body>
</html>
但是 Tomcat 给出这个错误:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 9 in the jsp file: /emt/xyz.jsp
var cannot be resolved to a type
6: <table id="table1" border = "1">
7:
8: <%
9: var table = document.getElementById("table1");
10: table.rows[1].cells[2].innerHTML = "UP";
11: %>
12:
An error occurred at line: 9 in the jsp file: /emt/xyz.jsp
document cannot be resolved
6: <table id="table1" border = "1">
7:
8: <%
9: var table = document.getElementById("table1");
10: table.rows[1].cells[2].innerHTML = "UP";
11: %>
12:
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:443)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
【问题讨论】:
看来您正在尝试在 scriplet 中使用 JavaScipt。你是否意识到,scriptlet 是在服务器端执行的 Java 代码 sn-ps,而 javascript 是发送到浏览器并由浏览器执行的代码? 我最近开始编码和使用 JavaScript,所以答案是否定的,我不知道。你能指导我做什么吗? @sᴜʀᴇsʜᴀᴛᴛᴀ 我已附上完整代码 【参考方案1】:尝试使用Javascript来改变innerHTML!
var table = document.getElementById("table1");
table.rows[1].cells[2].innerHTML = "XYZ";
【讨论】:
感谢您的回答,但仍然出现相同的错误。请查看附加的代码和错误 不知道你没有使用 【参考方案2】:<%
var table = document.getElementById("table1");
table.rows[1].cells[2].innerHTML = "UP";
%>
你是在jsp里面写java脚本代码,所以编译失败。
你只需删除那里的代码并在<script>
标签之间添加
<SCRIPT type="text/javascript">
var table = document.getElementById("table1");
table.rows[1].cells[2].innerHTML = "UP";
</SCRIPT>
See this link 供完整参考和示例。
【讨论】:
@cherry2891 很高兴为您提供帮助:)以上是关于使用单元格 ID 为表格中的单元格赋值的主要内容,如果未能解决你的问题,请参考以下文章