如何从 URL 或隐藏字段获取参数

发布于 2024-08-07 13:42:57 字数 294 浏览 5 评论 0原文

在 Struts Action 中,当 URL 中的参数未设置时,我想从 URL 或隐藏字段获取参数。 从 URL 检索参数的方法如下:

String userId = request.getParameter("userId");

但现在的问题是,HTML 是基于表单(遗留代码)的。我观察到参数 userId 可能会重置为 null。是否也可以在隐藏字段中的表单中设置参数?我需要在 dynaForm 中为此定义一个参数吗?如何从隐藏字段中检索参数?

In a Struts Action, I want to get a parameter from the URL or from a hidden field, when the parameter in the URL is not set.
To retrieve the parameter from the URL is as follows:

String userId = request.getParameter("userId");

But the problem is now, the HTML is based on forms (legacy code). And I observerd that the parameter userId may be reset to null. Is it an option to set the parameter in a form in a hidden field as well? Would I need to define a parameter in the dynaForm for this? How would I retrieve the parameter from the hidden field?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

壹場煙雨 2024-08-14 13:42:57

隐藏字段中的参数与其他字段一样设置,也可以以相同的方式检索。

String userID = request.getParameter("userId");

要检查它是否为空,您只需:

if(StringUtils.isNotBlank(userId)) {
    // do stuff
}

http://commons.apache.org/lang/apidocs/org/apache/commons/lang/StringUtils.html#isNotBlank(java.lang.String)

*编辑添加更多信息
request.getParameter 不区分 get 变量和 post 变量,因此如果您有来自 URL 的参数,则可以使用相同的方法获取它。

The parameters in hidden fields are set as any other field, also they can be retrieve the same way.

String userID = request.getParameter("userId");

To check if it is null you just:

if(StringUtils.isNotBlank(userId)) {
    // do stuff
}

http://commons.apache.org/lang/apidocs/org/apache/commons/lang/StringUtils.html#isNotBlank(java.lang.String)

*Edit adding more info
request.getParameter doesn't distinguish between get nor post variables, so if you have a parameter from the URL you can get it with the same method.

阳光①夏 2024-08-14 13:42:57

就服务器而言,隐藏参数与任何其他参数没有什么不同。它们只是请求的参数。

在 HTML 中,浏览器使用输入字段的 type 属性(您将用它来表示表单输入被隐藏) - 它告诉浏览器不要显示输入字段。但输入字段存在于表单中。

您可以使用 JavaScript 随意更改隐藏字段的值,这正是我们所需要的。

当您提交表单时,服务器不知道该参数是否来自隐藏字段。

As far as the server is concerned, hidden parameters are no different to any other parameters. They are just parameter on the request.

In HTML, the type attribute of an input field (which you'll use to say that the form input is hidden) is used by the browser - it tells the browser not to display the input field. But the input field is there in the form.

You are free to change the value of the hidden field using JavaScript is so needed.

When you submit the form, the server doesn't know anything about whether the parameter is from a hidden field or not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文