如何从 jsp 中的超链接调用 doPost() servlet
Posted
技术标签:
【中文标题】如何从 jsp 中的超链接调用 doPost() servlet【英文标题】:How to call doPost() servlet from a hyperlink in jsp 【发布时间】:2012-07-02 12:16:22 【问题描述】:如何从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 border="">
<tr bgcolor="#0099FF">
<td ><div align="center">ip</div></td>
<td ><div align="center">username</div></td>
<td ><div align="center">password</div></td>
<td ><div align="center">maxRetry</div></td>
<td ><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>
我打算使用链接(编辑和删除)从此页面调用一个 servlet 类(称为ViewS
)。当我单击编辑并将值存储到数据库中时,我想使特定行中的某些文件可编辑。
而且,当我点击删除时,我想删除数据库中的记录,也想删除 jsp 中的记录视图。
所以请有人帮助我。
我尝试使用<a href="/ViewS?action=edit">edit</a>
,但我知道这个电话是doGet()
。
非常感谢你帮助我。
【问题讨论】:
【参考方案1】:您需要在点击链接时调用 javascript 函数,并且您需要从 javascript 提交将生成 HTTP POST 的表单
function submitMyForm()
document.forms["yourFormId"].submit();
或者你可以发一个AJAX call to your servlet
【讨论】:
【参考方案2】:AJAX 将是您的最佳选择。
从<a>
的onClick()
方法进行AJAX 调用
【讨论】:
以上是关于如何从 jsp 中的超链接调用 doPost() servlet的主要内容,如果未能解决你的问题,请参考以下文章
无法在jsp页面中调用servlet的doPost()方法[重复]