在学习JSP,Servlets和DAO的过程中,我遵循了 this 教程,并希望了解一下使用JSP / Servlet编辑SQL Server表的正确方法。
无论如何,我有:
如何实现另一个显示数据行的JSP页面?是否有可能创建一个JSP页面来调用DAO / Servlet进行数据提取,然后在自身上显示数据(JSP)?
打开网站时,我正在调用Servlet,过程如下:Servlet -> DAO -> JSP
。我是否需要另一个Servlet + JSP文件,或者我是否可以添加使用当前Servlet来填充页面的JSP文件?
我的问题可能应该转到本教程的作者,但我希望从不同的角度来看一些建议。
答案 0 :(得分:1)
如果我理解你想要什么,你已经拥有了你想要的所有东西。 DAO有一个名为list()的方法,它将查询db并返回一个雇员对象的arraylist,这样你就可以很好。但是,需要更改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')" />
这应该指向正确的方向,并允许您仍然使用教程中的代码稍作修改。希望有所帮助。
答案 1 :(得分:0)
如果我理解你的问题,我可以高兴你做下一个:
1.将您的数据附加到reguest(使用request.setAttribute(Name,Object));
2.使用jsp:import连接下一个JSP页面;
3.在这些servlet中,通过request.getAttribute(Name)提取数据,将其转换为您需要的类型并使用。
但是,我不确定这是否足够正确 - 正如我所知,你实际上并不会复制你的var,所以这不需要额外的时间或记忆,但我不能确定如果这是解决这个问题的最“充分”的方法......