Java 如何使用Servlet初始化JSP页面?
我的JSP页面上有一个下拉菜单,我想在页面加载完成之前填充它 我试过类似的东西Java 如何使用Servlet初始化JSP页面?,java,jsp,servlets,Java,Jsp,Servlets,我的JSP页面上有一个下拉菜单,我想在页面加载完成之前填充它 我试过类似的东西 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); if (session.getAttribute("someAr
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()
,并设置未设置的变量或者如何在加载页面之前设置变量?您需要将servlet映射到加载页面的url(比如index.jsp
)。现在,实现在Servlet
中填充下拉列表
选项所需的业务逻辑,然后执行RequestDispather.forward
并将您的index.jsp
现在,在加载
index.jsp
之前已经有了值您需要将servlet映射到加载页面的url(比如index.jsp
)。现在,实现在Servlet
中填充下拉列表
选项所需的业务逻辑,然后执行RequestDispather.forward
并将您的index.jsp
doGet(request, response);
现在,您有了index.jsp
加载之前的值
doGet(request, response);
这是错误的。您需要使用RequestDispatcher.forward
并提及目标资源文件。如果您的唯一需求是进行异步调用,那么应该将JSON返回给客户端
String json = action.execute(request, response);
response.getWriter().write(json);
这是错误的。您需要使用RequestDispatcher.forward
并提及目标资源文件。如果您的唯一需求是进行异步调用,那么应该将JSON返回给客户端
String json = action.execute(request, response);
response.getWriter().write(json);
不要直接导航到JSP页面,导航到加载数据然后重定向到的servletJSP@ScaryWombat谢谢,我将servlet设置为欢迎页面,现在它正是我想要的。我不知道这是可能的,但是非常感谢。不要直接导航到JSP页面,导航到servlets加载数据,然后重定向到JSP@ScaryWombat谢谢,我将servlet设置为欢迎页面,现在它正是我想要的。我不知道这是可能的,但很好-谢谢。