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

标签 javascript mysql jsp sql-update

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

源代码如下。我使用下面的源代码,当我进入编辑时,不会直接进入页面(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/

相关文章:

javascript - 如何计算一类的 div,即一类的容器 div 的子级?

javascript - 在 Angular JS ui 路由器中使用 ui-sref 时,不会生成 href

javascript - HTML5/CSS3 旋转 3D 立方体

mysql - sql中的条件Where子句

mysql - mysql中两个action的区别

java - show.jsxp 和 list.jspx 中的 Spring roo 标签

java - 无法使用 java mail api 从 jsp webapp 发送邮件

javascript - Jstree - 如果在 Jstree 中检查了父节点,如何检查子节点?

Mysql可用,但my.ini在Mysql中没有变化

css - 根据内容调整 InfoWidow 高度,从而删除滚动条