我无法通过单击另一个表单中的按钮来提交表单。当我点击按钮时,它不会被重定向到动作servlet,但它会重定向到同一页面,并带有这样的URL,
最后带了'?'。这个方法在我的示例项目中有效。
HTML代码
<form autocomplete="off">
<label>Email</label>
<input autocomplete="off" autofocus type="text" required="" id="emailIDForm1">
</label>
</div>
<label>Password</label>
<input autocomplete="off" type="password" min="6" required="" id="logPassId" />
</div>
<div>
<button id="submitForm" class="btn btn-primary">LOGIN</button>
</div>
</div>
</form>
<form action="LoginServlet" method="post" id="SecFormLogin" style="display:none">
<input type="text" name="emailId" id="emailIdForm2" />
<input type="password" name="password" id="passForm2" />
</form>
和 Jquery 代码
<script>
$(document).ready(function() {
$('#logPassId').change(function() {
var password= $(this).val();
$('#passForm2').val(password );
});
$('#emailIDForm1').change(function() {
var email= $(this).val();
$('#emailIdForm2').val(email);
});
$("#submitForm").click(function() {
$("#SecFormLogin").submit();
});
});
</script>
和 Servlet 代码是,
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("Called post");}
答案 0 :(得分:0)
您需要部署描述符(web.xml)
<servlet>
<servlet-name>servletName</servlet-name>
<servlet-class>packageName.servletName</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletName</servlet-name>
<url-pattern>/yourServletUrl</url-pattern>
</servlet-mapping>
或者,自servlet 3.0起,您可以在Servlet中使用注释。
import javax.servlet.annotation.WebServlet;
@WebServlet(name = "servletName", urlPatterns = { "/yourServletUrl" })
public class servletName extends HttpServlet {