gpt4 book ai didi

javascript - 如何用jsp变量传递onclick并直接到其他页面

转载 作者:行者123 更新时间:2023-11-30 00:11:26 25 4
gpt4 key购买 nike

有谁知道如何将变量从按钮传输到其他页面。我正在创建一个更新和删除站点。数据库查询所有数据,并且有一个编辑按钮,如果我按下编辑,它将直接到第二个站点。本网站将显示哪些数据信息供您更新。

源代码如下。我使用下面的源代码,当我进入编辑时,不会直接进入页面(edit_delete.jsp)任何人都可以告诉我,代码有什么问题吗?请看我在源代码中标记的粗体部分,这可能是一个问题。

----------------------------------------源代码---- -------------------------------------------------- -----

<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>");



}
%>

最佳答案

始终尽量避免使用 Scriplet,而使用 JavaServer Pages Standard Tag LibraryExpression Language这更易于使用且不易出错。

SQL Tag Library专为访问数据库以进行快速原型(prototype)设计和简单应用程序而设计。

示例代码:

<%@ 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}");'/>

关于javascript - 如何用jsp变量传递onclick并直接到其他页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24005985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com