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

时间:2012-07-02 03:59:43

标签: java html database jsp servlets

如何从servlet拨打jsp?但在这种情况下,我更喜欢使用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>

我打算使用link(edit n delete)从这个页面调用一个servlet类(名为ViewS)。当我单击编辑并将值存储到数据库中时,我想在特定行中对某些文件进行编辑。

并且,我希望删除数据库中的记录,并在我cleck删除时在jsp中记录视图。

所以,请有人帮助我。

我尝试使用<a href="/ViewS?action=edit">edit</a>,但我知道此致电doGet()

非常感谢你帮助我。

2 个答案:

答案 0 :(得分:3)

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

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

或者您可以制作AJAX call to your servlet

答案 1 :(得分:1)

AJAX将是您的最佳选择。 使用onClick()

<a>方法拨打AJAX电话