0

我意识到,当您在 jsp 中提交表单时,在映射的 servlet 中,您可以获得所需的数据,将其设置在适当的范围内(例如请求)并将其转发给 jsp,如下所示:

request.setAttribute("myList", myList); // Store list in request scope.
request.getRequestDispatcher("/index.jsp").forward(request, response);

但是我想知道对于没有表单的页面,或者换句话说,我们希望在页面加载后立即显示数据,我们如何在不使用 scriptlet 的情况下有效地加载数据

<%= myBean.populateData("String Argument_1")%>

如果有人可以提供任何相同的建议,将不胜感激。

4

2 回答 2

3

请求是否来自表单这一事实不会改变任何事情。servlet 接收到一个请求,然后可以做一些处理并转发给一个 JSP:

  1. servlet 获取请求参数
  2. servlet 使用这些参数从数据库中获取请求的数据,并用所述数据填充一些 bean。它还可以从头开始构建一些 bean,以显示具有默认值的表单
  3. servlet 将这些 bean 放入请求属性中
  4. servlet 转发到 JSP
  5. JSP 避免使用 scriptlet,而是使用 JSP EL、JSTL 和自定义标记来显示请求范围内 bean 中存储的信息
于 2011-07-09T20:57:59.343 回答
0

我认为将 EL 与 JSTL 结合使用可以在最常见的情况下为您提供帮助。如果这还不够,您可以编写 EL 函数或您自己的自定义标签。

于 2011-07-09T23:47:24.717 回答