【问题标题】:Getting request parameters in a Struts Action when you don't know what they are called当您不知道它们被称为什么时,在 Struts Action 中获取请求参数
【发布时间】:2013-04-10 19:54:16
【问题描述】:

我有一个struts ActionSupport 类,它使用Map<String, String>jsp 中创建<input> 元素,其中输入的名称是地图的键。该映射包含我正在操作的域对象的参数(不是字段)。我知道,如果您有一个名为的请求参数,例如。 username,你可以在类中有一个字段

private String username;

使用 getter 和 setter,它将为您填充。但是,我不知道请求参数的名称。有没有办法将所有剩余的(未映射到字段的)请求参数作为映射(或其他结构)注入?

我能想到的另一个解决方案是使用

ServletActionContext.getRequest();

获取请求参数,自己比较。

【问题讨论】:

    标签: java servlets struts2


    【解决方案1】:

    您可以实现ParameterAware 接口并将参数作为Map<String, String[]> 注入到您的操作中。但是,它会为您提供所有请求参数,而不仅仅是它可以直接在操作中填充的参数。

    【讨论】:

    • 没关系。你知道为什么地图是原始的而不是Map<String, String>Map<String, String[]>吗?
    • 据我所知,它是Map<String, String[]>。我已经用这个细节更新了答案。
    • 哦对了,我错过了请注意,给定名称的所有参数值都会返回,因此映射中对象的类型是 java.lang.String[]。 i> 谢谢!
    • 我使用的是旧版本的 struts...所以我必须使用原始地图。
    • 啊,好的。这解释了混乱:)
    猜你喜欢
    • 2011-03-07
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    相关资源
    最近更新 更多