有谁知道如何将变量从按钮传输到其他页面。 我正在创建一个更新和删除站点。数据库查询所有数据,并且有一个编辑按钮,如果我按下编辑,它将直接指向第二个站点。该站点将显示您要更新的数据信息。
源代码如下。我使用下面的源代码,当我进入编辑时,将不会直接到页面(edit_delete.jsp) 任何人都可以安慰我,代码是错的 请参阅我标记的源代码中的粗体,这可能是个问题。
----------------------------------------- source code ---- -------------------------------------------------- -----
<script language="javascript">
function editRecord(no){
var f=document.form1;
alert(no);
f.method="post";
**f.action='edit_delete.jsp?id='+no;**
f.submit();
}
</script>
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/webapp?user=root&useUnicode=true&characterEncoding=big5");
stmt=con.prepareStatement("select id, no, name, class, from test");
rs = stmt.executeQuery();
while(rs.next()) {
int test = rs.getInt("no");
out.print("<tr><td>");
out.print(rs.getString("id"));
out.print("</td><td>");
out.print(rs.getString("no"));
out.print("</td><td>");
out.print(rs.getString("name"));
out.print("</td><td>");
out.print(rs.getString("class"));
out.print("</td><td>");
out.print("</td><td>");
**out.println("<input type='button' name='edit' value='Edit' onclick='editRecord('rs.getInt('no'))'>");**
out.print("</td></tr>");
}
%>
答案 0 :(得分:0)
始终尽量避免使用 Scriplet ,而是使用更易于使用且不易出错的JavaServer Pages Standard Tag Library和Expression Language。
SQL Tag Library旨在用于访问数据库以进行快速原型设计和简单应用程序。
示例代码:
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
...
<sql:setDataSource var="webappDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/webapp?user=root&useUnicode=true&characterEncoding=big5"
user="root" password="" />
<sql:query dataSource="${webappDataSource}"
sql="select id, no, name, class, from test" var="result" />
<table width="100%" border="1">
<c:forEach var="row" items="${result.rows}">
<tr>
<td>${row.no}</td>
<td>${row.id}</td>
<td>${row.no}</td>
<td>${row.name}</td>
<td>${row.class}</td>
<td><input type='button' name='edit' value='Edit' onclick='editRecord(${row.no})' /></td>
</tr>
</c:forEach>
</table>
您可以尝试使用Window open() Method而不是表单提交,因为它是简单的获取请求,并且值在URL中作为查询字符串传递。
例如
<input type='button' name='edit' value='Edit' onclick='window.open("edit_delete.jsp?id=${row.no}");'/>