不带 JS 的 JSP 动态表单操作属性

JSP dynamic form action attribute without JS?

本文关键字:表单 操作 属性 动态 JSP JS 不带      更新时间:2023-09-26

我需要通过单击表单提交按钮发送http post请求。我有一个表格:

<form action="..." method="DELETE">
    <input type="text" name="id" id="id" />
    <input type="submit" />
</form>

是否可以使用用户在文本字段中输入的值动态设置表单的操作属性? 例如

#id=120 -----> action = "users/120"

设置动作属性不是必需的,但是是否可以在没有JS的情况下以这种方式提交表单,仅使用JSPJSTL

JSP 或 JSTL - 它是服务器端的"模板生成器"...它无法知道客户端操作,例如用户何时填写输入。

因此,没有任何前端逻辑就无法做到这一点。

此行为只能通过重定向到所需 URL 的其他控制器方法进行模拟。

不,

它不是.JSP用于在服务器端呈现 HTML,它在客户端不起作用,至少它不是为它开发的。因此,您应该在服务器上渲染一次操作,或者如果您需要用户交互,则应使用 javascript(您也可以使用 AJAX 更新页面的状态并在服务器上重新渲染页面)。

您可以尝试创建一个控制器(也可以是servlet),该控制器捕获所有对"users"的POST请求,读取id参数并重定向到"users/{idReadFromRequestParameters}"URL

如果你绝对反对使用javascript,我想到的唯一解决方案如下:

  1. 将操作提交到服务器到独立于 ID 的特定 URL
  2. 从请求参数中检索 ID
  3. 重定向至服务器端的用户/ID

实际实现取决于您在服务器端使用的框架。