减少冗余代码
我开始感觉多余,因为我必须指定 doGet 参数及其每次抛出的内容。有没有办法在我的 Controller
中完成所有这些操作,这样就不必在每个页面上完成这些操作?我的 Controller
目前没有 doGet()
@WebServlet(name = "EditServlet", urlPatterns = {"/content/edit"})
public class EditServlet extends cms.library.Controller {
@Override
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.loadView(new cms.library.PageConfig()
.setRequest(request)
.setResponse(response)
.setTemplate("/content/edit"));
}
@Override
public void doPost (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("posted");
this.doGet(request, response);
}
}
It's starting to feel redundant that I have to specify the doGet parameters and what it throws every time. Is there a way to do all of that within my Controller
so it doesn't have to be done on every page? My Controller
currently has no doGet()
@WebServlet(name = "EditServlet", urlPatterns = {"/content/edit"})
public class EditServlet extends cms.library.Controller {
@Override
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.loadView(new cms.library.PageConfig()
.setRequest(request)
.setResponse(response)
.setTemplate("/content/edit"));
}
@Override
public void doPost (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("posted");
this.doGet(request, response);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将模板传递给 cms.library.Controller 类,这样您就不必每次都定义 doGet。
或者,您可以创建自己的注释,并且
Controller
类将在其构造函数中检查实现类以获取注释(而不是传入字符串)。You can pass in the template to the cms.library.Controller class so you don't have to define doGet everytime.
Or you could make your own annotation and the
Controller
class would inspect the implementing class in its constructor for the annotation (instead of passing in the string).