当前位置: 首页 > 面试题库 >

Play 2.0 Java:从请求绑定数组

慕容渊
2023-03-14
问题内容

我…卡住了

我有国外要求的参数:

param[62537]=abc;
param[20356]=cde;
param[92837]=fgh;

而且我正在寻找绑定它们的 任何 方法。与DynamicForm

我可以通过以下方式获得参数:

DynamicForm dynamicForm = form().bindFromRequest();
String firstParam = dynamicForm.field("param[62537]").value();

但是我当然 不知道 这些索引,因为它们是client-side在独立应用程序创建的表单中选择的。

当我尝试使用时:

String[] firstParam = dynamicForm.field("param").value(); // it's NULL
String[] firstParam = dynamicForm.get("param"); // it's NULL

甚至

String[] params = request().body().asFormUrlEncoded().get("param");
     // it's still NULL

我是否错过了一些基本的知识,或者Play不能做到这一点?


问题答案:

不是最漂亮的方法,但是您是否尝试获取asFormUrlEncoded返回的Map的键:

Set<String> keys = request().body().asFormUrlEncoded().keySet();
for (String key : keys) {
     // check if key begin with "param["
}


 类似资料:
  • 我想我可能发现了springs web binder的一个关键bug,或者更有可能,我做了一些可怕的错误。基本上,来自一个servlet请求的数据会以某种方式复制到另一个请求中。

  • 我正在学习并尝试构建一个rest api。但是我很难理解各种绑定之间的区别-、、以及范围-、和。它们之间有什么区别以及何时使用哪一个? e、 g.假设我有一些特定于请求的数据传入请求头。我想在请求处理期间多次使用此数据(比如在资源类、DAO等中)。我想到的是,我将使用,并使用 ContainerRequestContext提取数据,然后将其存储到某个类中。但我无法确定如何绑定这个类,以便以后可以访

  • 问题内容: 我从中检索到的Userprincipal是否绑定到请求或会话? 这是我访问当前登录用户的方式。如果当前会话被破坏,这将无效吗? 问题答案: 这取决于您如何配置它(或者说,您可以配置其他行为)。 在Web应用程序中,您将使用与交互的。 的Java文档以: 在请求之前,使用从已配置的{@link SecurityContextRepository}获取的信息填充{@link Securit

  • 是否有任何简单的方法可以检索请求中的路由绑定模型? 我想更新模型,但在此之前,我想使用Requests方法执行一些权限检查。但我只希望模型的所有者能够更新它。 在控制器中,我只需执行以下操作: 但是我希望在请求中,而不是在控制器中这样做。如果我这样做: 它只给我标量表单属性(如等,但没有模型)。 问题 如果我将一个模型绑定到一个路由,我如何从请求中检索该模型? 非常感谢。

  • 除了使用自定义操作等之外,还有什么方法可以告诉绑定器,我希望它获取HTTP请求参数内容的值,并将其设置在我的模型对象的value属性上。以后的请求将重用相同的HTTP参数,所以我不能只是更新我的模型,因为该值将不断被覆盖

  • 请求参数: 我想使用以下方法在Spring MVC中获取请求参数: 类定义如下: 发送请求时,我收到错误信息: bean类[com.example.demo.param.User]的无效属性“detail[gender]:非法获取属性“detail”引发异常;嵌套的异常是org。springframework。豆。NullValueInTestedPathException:bean类[com.e