这是我的问题:我想在jsp页面上获取动态信息,当我重定向它但不使用scriptlet,使用servlet所以最终我想在我的jsp页面加载时调用servlet所以没有任何表单操作我有这样做
提前谢谢。答案 0 :(得分:2)
只需调用servlet,让servlet在预处理后将请求转发给JSP。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Do your preprocessing job here. E.g. retrieving list of products to display in JSP.
List<Product> products = productDAO.list();
request.setAttribute("products", products); // It'll be available as ${products} in JSP.
// Finally forward request to JSP.
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
将此servlet映射到例如url-pattern
的{{1}},并通过http://example.com/context/page进行调用。将JSP置于/page
文件夹中会有效地将其隐藏在直接访问之外,以便在没有servlet的情况下,ensuder无法打开它。
答案 1 :(得分:0)
您需要考虑代码在不同时间运行的位置。您的JSP 是一个servlet,它在服务器上运行并将HTML发送到浏览器。一旦浏览器呈现了您的JSP不再运行的HTML页面,您就可以在浏览器中获得HTML。
该页面可能有链接或表单提交按钮,这些按钮将调用服务器上的新资源(如servlet或JSP),并将全新页面返回给浏览器。我不完全理解你的问题,我认为你不想张贴表格,但你可以让用户点击一个链接。
但是,我怀疑你想要做的是更新页面的一部分而不重新绘制整个内容。这有时称为AJAX编程。 HTML页面中的某些JavaScript会运行,调用服务器然后修改HTML,从而显示新数据。
AJAX是一个很大的主题,需要JavaScript技能,并从Dojo或JQuery等框架中获益匪浅。我建议您稍微围绕这些主题进行谷歌搜索,然后再回答具体问题。