我的JSP页面上有一个下拉菜单,我希望在页面加载完成之前填充它。
我试过像
这样的东西protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
if (session.getAttribute("someArray") == null) {
session.setAttribute("someArray", SomeEnum.values());
doGet(request, response);
} else { // ... // }
但这只会在我提交页面后填充下拉列表。我在get和post方法中尝试了它,但无论哪种方式它都无法工作。如何在加载时自动调用Servlet.doGet()
并设置变量(如果未设置)? 或者如何在加载页面之前设置变量?
答案 0 :(得分:1)
您需要使用加载页面的网址来映射servlet(比如说index.jsp
)。现在,实现填充dropdown
内的Servlet
选项所需的业务逻辑,然后执行RequestDispather.forward
并放置index.jsp
。
现在,您已经加载了index.jsp
之前的值
答案 1 :(得分:1)
doGet(request, response);
这是错误的。您需要使用RequestDispatcher.forward
并提及目标资源文件。如果您的唯一要求是进行异步调用,则应将JSON返回给客户端。
String json = action.execute(request, response);
response.getWriter().write(json);