我有一个包含多种类别书籍的菜单。
当我点击菜单项时,我想让servlet查询数据库并返回结果。
我不想重复使用代码,所以只使用一个servlet会很好,但不知何故,servlet会识别菜单中的哪个链接被点击并执行相应的操作。
通过提交表单是唯一的方法吗?
此外,我应该提一下,尽管做了可怕的练习,我将针对结果瞄准不同的框架。
答案 0 :(得分:0)
不,您不需要提交表单。使用查询字符串通过链接传递参数:
<a href="/books?category=novels">Novels</a>
<a href="/books?category=sf">Science Fiction</a>
...
答案 1 :(得分:0)
这篇文章可能很旧。但这是我的答案。
您可以在jsp页面中创建这样的链接。
<a href="${pageContext.request.contextPath}/new">Add New Book</a>
<a href="${pageContext.request.contextPath}/list">List All Books</a>
然后像这样打电话给你的控制器。
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action = request.getServletContext().getContextPath()+request.getServletPath();
try {
switch (action) {
case "/new":
showNewForm(request, response);
break;
case "/insert":
insertBook(request, response);
break;
case "/delete":
deleteBook(request, response);
break;
case "/edit":
showEditForm(request, response);
break;
case "/update":
updateBook(request, response);
break;
default:
listBook(request, response);
break;
}
} catch (SQLException ex) {
throw new ServletException(ex);
}
}
这适用于作为启动页面保留的servlet。
您可以根据servlet的href
更新url pattern
属性。