java-如何从jsp中的超链接调用doPost()servlet

提问

如何从jsp调用servlet?但是在这种情况下,我更喜欢使用doPost()方法而不是doGet().

这是我的代码:

view.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" import="DSIP.*" import="java.util.ArrayList" %>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>DSIP.View</title>
</head>

<body>
<jsp:useBean id="ipList" scope="application" class="DSIP.IPBeanMapper"/>
<jsp:useBean id="bean" scope="application" class="DSIP.IPBean"/>
<form name="form1" method="post" action="viewS">
    <table width="" border="">
        <tr bgcolor="#0099FF">
            <td width="90"><div align="center">ip</div></td>
            <td width="90"><div align="center">username</div></td>
            <td width="90"><div align="center">password</div></td>
            <td width="90"><div align="center">maxRetry</div></td>
            <td width="90"><div align="center">action</div></td>
        </tr>
        <%
            ArrayList<IPBean> list;
            list = ipList.getIPList();
            for (int i = 0; i < list.size(); i++){
                bean = list.get(i);
        %>
        <tr>
            <td><input name="ip"        type="text" size="15" value="<%=list.get(i).getIp()%>"></td>
            <td><input name="userName"  type="text" size="15" value="<%=bean.getUserName()%>"></td>
            <td><input name="password"  type="text" size="15" value="<%=bean.getPassword()%>"></td>
            <td><input name="maxRetry"  type="text" size="15" value="<%=bean.getMaxRetry()%>"></td>
            <td><a href="/ViewS?action=edit">edit</a> <a href="/ViewS?action=delete">delete</a>

            </td>
        </tr>
        <%
            }
        %>
    </table>
    <input type="submit" name="Submit" value="Submit">

</form>
</body>
</html>

我打算使用链接(编辑n删除)从此页面调用servlet类(称为ViewS).当我单击“编辑”并将值存储到数据库中时,我想使某些文件在特定行中可编辑.

并且,当我单击删除时,我想删除数据库中的记录以及jsp中的记录视图.

所以请有人帮我.

我尝试使用< a href =“ / ViewS?action = edit”> edit< / a&gt ;,但我知道此调用doGet(). 非常感谢您对我的帮助.

最佳答案

您需要在链接单击时调用javascript函数,而从javascript中,您需要提交将生成HTTP POST的表单

function submitMyForm(){
 document.forms["yourFormId"].submit();
}

或者你可以做一个AJAX call to your servlet