繁体   English   中英

从Java代码调用jsp并获取输出

[英]invoke jsp from java code and get output

我有一个JSP页面,它以某种格式化的方式显示数据。 浏览器可以调用spring showInfo.do并将其转发到该JSP。

public showInfo(HttpServletRequest request, HttpServletResponse response) {
RequestDispatcher rd = getServletContext().getRequestDispatcher("info.jsp");
dispatcher.forward(request,response);
}

JSP的输出是html。

现在,我想从Java服务器端代码中手动保存此JSP输出(不在servlet上下文中),如下所示:

void saveInfo() {
params.setParameter("info1", "data");
String responseStr = Invoke("info.jsp", params);
//save responseStr to disk
}

我希望能够从服务将html页面保存在磁盘上,并使它与用户从浏览器中看到的外观相同。 因此,如果服务器处于脱机状态,则用户可以双击保存的html文件并在其浏览器中查看最后的信息。 知道如何做到这一点吗?

哎呀 Servlet规范要求Servlet容器能够执行JSP文件。 通常,这是通过将JSP转换为纯Java并生成servlet类文件来完成的。

如果您不在servlet容器之外,则必须:*完全实现JSP执行环境,例如通过使用servlet容器(例如Tomcat)之类的源*或依靠servlet容器将JSP文件转换为.java或.class servlet,然后在其上使用Servlet接口方法

另外,您可以尝试使用无头浏览器捕获应用程序的输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM