请问如何用button直接访问servlet,不用form哦。
     例如<input type="button" onclick=....  />

解决方案 »

  1.   

    out.println("<td><a href='ProductList?type=delete&code="+ p_code + "' onClick='return confirm(\"你确定要删除吗?\");'>删除</a></td>");可以这样写
    下面是完整的代码:
    out.println("<html>");
    out.println("<body>");
    out.println("<h1>所有产品列表</h1>"); try
    {
    // 查询表单
    out.println("<form method='post' action='ProductList'>");
    out.println("产品序号:<input type='text' name='code' value='" + code
    + "'><br>");
    out.println("产品名称:<input type='text' name='name' value='" + name
    + "'><br>");
    out.println("产品价格:<input type='text' name=price1 value='" + name
    + "'>");
    out.println("到<input type='text' name='price2' value='" + price2
    + "'><br>");
    out.println("<input type='submit' name='submit' value='查询' value='"
    + price1 + "'>");
    out.println("</form>");
    // 产品列表
    out.println("<table border='1'>");
    out
    .println("<tr><td>编号</td><td>产品序号</td><td>产品名称</td><td>产品价格</td><td colspan='2'><div align='center'>操作</div></td></tr>");

    int id = 0;
    int i = 0;
    rs = conn.executeQuery(sql); while (rs.next())
    {
    i++; // 编号加1
    p_code = rs.getString("code");
    p_name = rs.getString("name");
    p_price = rs.getDouble("price"); id = rs.getInt("id"); out.println("<tr>");
    out.println("<td>" + i + "</td>");
    out.println("<td>" + p_code + "</td>");
    out.println("<td>" + p_name + "</td>");
    out.println("<td>" + p_price + "</td>");
    out.println("<td><a href='EditProduct.jsp?id=" + id + "&code="
    + URLEncoder.encode(p_code, "utf-8") + "&name="
    + URLEncoder.encode(p_name, "utf-8") + "&price="
    + p_price + "'>修改</a></td>");
    out.println("<td><a href='ProductList?type=delete&code="
    + p_code
    + "' onClick='return confirm(\"你确定要删除吗?\");'>删除</a></td>");
    out.println("</tr>");
    }
    out.println("</table>");
    //out.println("<input type='submit' name='submit' value='添加产品' onClick=\"javascript:window.open('AddProduct.jsp','_blank');\">");
    out
    .println("<input type='submit' name='submit' value='添加产品' onClick=\"location='AddProduct.jsp';\">"); out.println("</body>");
    out.println("</html>");
    } catch (SQLException e)
    {
    System.out.println("查看产品出错" + e.getMessage());
    } finally
    {
    // 关闭数据库
    try
    {
    if (rs != null)
    rs.close();
    } catch (SQLException e)
    {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
      

  2.   

    下面是一个参考 你看可以吗
    out.println("<html>");
    out.println("<body>");
    out.println("<h1>所有产品列表</h1>"); try
    {
    // 查询表单
    out.println("<form method='post' action='ProductList'>");
    out.println("产品序号:<input type='text' name='code' value='" + code
    + "'><br>");
    out.println("产品名称:<input type='text' name='name' value='" + name
    + "'><br>");
    out.println("产品价格:<input type='text' name=price1 value='" + name
    + "'>");
    out.println("到<input type='text' name='price2' value='" + price2
    + "'><br>");
    out.println("<input type='submit' name='submit' value='查询' value='"
    + price1 + "'>");
    out.println("</form>");
    // 产品列表
    out.println("<table border='1'>");
    out
    .println("<tr><td>编号</td><td>产品序号</td><td>产品名称</td><td>产品价格</td><td colspan='2'><div align='center'>操作</div></td></tr>");

    int id = 0;
    int i = 0;
    rs = conn.executeQuery(sql); while (rs.next())
    {
    i++; // 编号加1
    p_code = rs.getString("code");
    p_name = rs.getString("name");
    p_price = rs.getDouble("price"); id = rs.getInt("id"); out.println("<tr>");
    out.println("<td>" + i + "</td>");
    out.println("<td>" + p_code + "</td>");
    out.println("<td>" + p_name + "</td>");
    out.println("<td>" + p_price + "</td>");
    out.println("<td><a href='EditProduct.jsp?id=" + id + "&code="
    + URLEncoder.encode(p_code, "utf-8") + "&name="
    + URLEncoder.encode(p_name, "utf-8") + "&price="
    + p_price + "'>修改</a></td>");
    out.println("<td><a href='ProductList?type=delete&code="
    + p_code
    + "' onClick='return confirm(\"你确定要删除吗?\");'>删除</a></td>");
    out.println("</tr>");
    }
    out.println("</table>");
    //out.println("<input type='submit' name='submit' value='添加产品' onClick=\"javascript:window.open('AddProduct.jsp','_blank');\">");
    out
    .println("<input type='submit' name='submit' value='添加产品' onClick=\"location='AddProduct.jsp';\">"); out.println("</body>");
    out.println("</html>");
    } catch (SQLException e)
    {
    System.out.println("查看产品出错" + e.getMessage());
    } finally
    {
    // 关闭数据库
    try
    {
    if (rs != null)
    rs.close();
    } catch (SQLException e)
    {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
      

  3.   

    我的意思是直接按button就可以去触发servlet中的doget方法,我现在想的是只用button,而不用form。看看能行吗?
      

  4.   

     <script type="text/javascript">
     function userList()
     {
      window.location.href("/323homework/servlet/UserList");
     }
     </script>
    <input type=button onclick='userList()' name=look value='查看' >
      

  5.   

       好象很简单 可用JS访问
    例如 <input type="button" onclick="window.open('/项目名/servlet所配置的影射名')"  />这样就可以了!
      

  6.   


    <input type=button onclick='window.location.href("http://www.csdn.net"); ' name=look value='查看' >访问servlet时,只有表单并且method属性为post时,才会直接请求doPost()方法
      

  7.   

    直接在链接上输入servlet地址,默认的是执行doGet
      

  8.   

     请问如何用button直接访问servlet,不用form哦。 
        例如 <input type="button" onclick=....  />  
    input 是要放在form中的,你不用form怎么用input啊??
      

  9.   

    我想知道这个button传的值是什么 谢谢指教!菜鸟遇到同样的问题!