如何使用 prolog 创建相同的函数(html 输入到 jsp)

问题描述 投票:0回答:1

我正在做一个使用 prolog 与 HTML 集成的程序,目前一直停留在理解 prolog 中的 HTTPSESSION 上,并希望创建与下面的 JSP 相同的功能。

用户输入的 HTML:

`<form action="page2.jsp" method="post">
    <label>Name:</label>
    <input type="text" name="patientname" placeholder="Name">
    <input type="submit" value="Next">
</form>`

JSP 从 HTML 获取输入:

`<%
String name = request.getParameter("patientname");
 session.setAttribute("patientname", name);
%>`

有人可以帮忙吗?我已经看过 http://www.swi-prolog.org/pldoc/man?section=httpsession 但仍然无法理解如何在 prolog 中实现代码。

jsp prolog
1个回答
-1
投票

会话对象特定于 JavaServer Pages 规范版本2.0,它有以下API:

公共抽象 javax.servlet.http.HttpSession getSession()
会话对象(HttpSession)的当前值。
返回:此 PageContext 的 HttpSession 或 null

因此,只要您不使用实现 JSP API 的容器,一切都可能看起来不同。 SWI-Prolog 提供了自己的容器 API,会话数据似乎保存在:

:- dynamic session_data/2.

您可以通过

http_session_XXX
谓词访问和修改。另一种方法是使用基于 Java 的 Prolog 并直接在实现 JSP API 的容器(例如 Tomcat)内运行。

后一种方法的优点是可以自由混合 Java 和 Prolog。意味着您仍然可以在 JSP 中编写动态页面,然后使用 Prolog 来完成某些任务。

后者可以在 Jekejeke Prolog 中实现,另请参阅此处的本教程,其中展示了如何开发在 Tomcat 内运行并同时使用 Java 和 Prolog 的表单 JSP 应用程序:

© www.soinside.com 2019 - 2024. All rights reserved.