-1

在学习 JSP、Servlet 和 DAO 的过程中,我学习了教程,并希望了解一些关于使用 JSP/Servlet 编辑 SQL Server 表的正确方法。

无论如何,我有:

  • POJO.java
  • DAO.java
  • SERVLET.java
  • 页面.jsp

如何实现另一个显示数据行的 JSP 页面?是否可以制作一个 JSP 页面,该页面会调用 DAO/Servlet 进行数据提取,然后在其自身(JSP)上显示数据?

打开网站时,我正在调用 Servlet,过程如下:Servlet -> DAO -> JSP. 我是否需要另一个 Servlet+JSP 文件,或者我可以只添加将使用当前 Servlet 来填充页面的 JSP 文件吗?

我的问题可能应该交给本教程的作者,但我希望在这里能从不同的角度提出一些建议。

4

2 回答 2

1

如果我正确地理解了您想要什么,那么您几乎已经拥有了做您想做的事情所需的一切。DAO 有一个名为 list() 的方法,它将查询数据库并返回一个员工对象的数组列表,这样你就很好了。但是,需要更改 servlet 和 jsp 页面才能使其工作,但将相关代码添加到 servlet 以使用 DAO 来获取员工列表。在 try 块开始之前添加

ArrayList<employee> employeeList = null;

将此代码添加到 servlet 的 process() 方法中的现有代码中。

else if (StringUtils.equals(actionContext, "list")) {
    employeeList = dao.list();
    request.setAttribute("employeeList", employeeList);
  }

必须更改 jsp 上的 javascript 以促进这一点,因为 javascript 正在驱动传递给 servlet 的内容,并且您必须向 jsp 添加一个按钮,该按钮将调用与此类似的 javascript 函数。

<input type='button' value='List Employees' onclick="submitForm('list')" />

这应该会为您指明正确的方向,并允许您在稍作修改的情况下仍然使用教程中的代码。希望有帮助。

于 2012-05-10T14:32:54.760 回答
0

如果我正确理解了您的问题,我可以要求您执行以下操作:
1. 将您的数据附加到请求(使用 request.setAttribute(Name,Object));
2.使用jsp:import连接下一个JSP页面;
3. 在这些 servlet 中,通过 request.getAttribute(Name) 提取您的数据,将其转换为您需要并使用的类型。

但是,我不确定这是否足够正确-据我所知,您实际上不会复制您的 var,因此这不会花费太多额外的时间或内存,但是我不确定,如果这是解决此问题的最“适当”方法...

于 2012-05-10T11:14:05.100 回答