【问题标题】:JSP dynamic form action attribute without JS?没有JS的JSP动态表单动作属性?
【发布时间】:2015-01-09 13:10:31
【问题描述】:

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

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

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

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

没有必要设置action属性,但是是否可以在没有JS的情况下以这种方式提交表单,只使用JSPJSTL

【问题讨论】:

  • http post by method="DELETE"??

标签: java javascript html jsp


【解决方案1】:

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

所以没有任何前端逻辑就没有办法做到这一点。

此行为只能通过重定向到您需要的 URL 的附加控制器方法来模拟。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-04-07
          • 2015-07-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-01-18
          • 1970-01-01
          相关资源
          最近更新 更多