当前位置: 首页 > 知识库问答 >
问题:

访问流中的多个请求参数

欧阳勇
2023-03-14
<action-state id="newToken">
    <set name="requestScope.timestamp" value="requestParameters.timestamp" type="java.lang.String"/>
    <set name="requestScope.origin" value="requestParameters.origin" type="java.lang.String"/>
    <set name="requestScope.tokenHmacToValidate" value="requestParameters.tokenHmacToValidate" type="java.lang.String"/>
    <transition to="validateToken"/>
</action-state>

但是,只有第一个RequestParameters值才会被设置(也就是说,如果Timestamp是第一个,那么只有它才会被设置。如果Origin是第一个,那么只有它才会被设置)。当我访问第二个和第三个值时,它们的值为null而不是传递给它的值。下面是表单提交时传递的表单数据示例:

_eventId=tokenValidationEvent
origin=https%3A%2F%2Flocalhost%3A8443
timestamp=20200218171041
tokenHmacToValidate=**REDACTED**

提交表单时传递所有信息,但实际上只有第一个 标记在设置数据。我收到的请求是不是错了?有什么我需要注册的东西我没有在做吗

共有1个答案

方玄天
2023-03-14

这就是 的工作方式。只计算第一个表达式。

如果希望对这三个参数进行评估,可以使用 对其他2个参数进行评估:

    <action-state id="newToken">
        <on-entry>
            <set name="requestScope.timestamp" value="requestParameters.timestamp" type="java.lang.String"/>
            <set name="requestScope.origin" value="requestParameters.origin" type="java.lang.String"/>
        </on-entry>
        <set name="requestScope.tokenHmacToValidate" value="requestParameters.tokenHmacToValidate" type="java.lang.String"/>
        <transition to="validateToken"/>
    </action-state>

摘自https://docs.spring.io/spring-webflow/docs/current/reference/html/actions.html#action-state

 类似资料:
  • 在Jersey 2中,我试图开发一种方法,它允许传递一对JSON列表(服务、方法),这些列表表示REST请求中对资源的访问路径,并将结果聚合到单个响应中。因此,JSON列表可以如下所示: 相应的命令bean可以如下所示: 我找到了这个主题,但它似乎适用于Jersey的版本1:如何在单个请求中访问多个资源:Jersey Rest 谢谢你的回答,为我糟糕的英语感到抱歉。

  • 问题内容: 我的问题是给定的代码: 我访问: 我应该期望[‘a’,’bbb’]的输出,除了Flask似乎只接受第一个参数而忽略其余参数。 这是Flask的限制吗?还是设计使然? 问题答案: 你可以使用与Django类似的,但由于某些原因,Flask文档中未提及: 结果是: 使用如果参数是查询字符串(如题),如果值来自具有相同名称的多个表单输入。 结合了两者,但通常应避免使用更具体的集合。

  • 如何在JAX-RS中实现WriterInterceptor接口时访问请求头? 完整的代码如下:

  • 考虑以下层次结构: 访客类: 通常,当重载方法依赖于参数类型时,我使用访问者模式来实现双重调度,但我只有指向基类的指针。 例如: 我认为这是实现双重调度的唯一方法,因为虚拟函数的动态绑定应该只发生在调用方法的对象上,而不是其参数(派生类型)上。 现在我遇到了一个新情况,我需要一种在多个参数上重载的Visit方法。类似于这样: 我不能使用经典的访问者模式解决方案,因为接受方法只对其中一个参数调用。

  • 假设我有一个Employee类。它有很多字段,比如id、名字、姓氏、姓名、年龄、薪水和其他字段。现在,我正在进行一个Get查询,希望使用所有这些字段(required=false)作为请求参数传递。 但问题是,可能有许多组合,如(firstName, age)或(age,工资,lastName)或(指定,年龄,工资,lastName)等等。那么我应该如何处理所有这些筛选器。我必须为每个案例编写每个

  • 我创建了一个spring boot应用程序,我的控制器就是这样的。我使用postman在请求体中发送json,在请求头中发送字符串,然后进一步对json进行散列,并将其与请求头获得的字符串进行比较。问题是,我不知道为了使用MockMvc测试相应的控制器类而获取请求体和请求头。 控制器逻辑 测试逻辑 请在上面的代码中帮助我从请求中检索body和header值,并将hash(body)与header值