如何从 URL 或隐藏字段获取参数
在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
隐藏字段中的参数与其他字段一样设置,也可以以相同的方式检索。
要检查它是否为空,您只需:
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.
To check if it is null you just:
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.
就服务器而言,隐藏参数与任何其他参数没有什么不同。它们只是请求的参数。
在 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.