首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据从外部表单绑定到spring webflow?

问如何将数据从外部表单绑定到spring webflow?
EN

Stack Overflow用户
提问于 2011-11-29 16:18:23
回答 1查看 2.5K关注 0票数 0

我使用Spring 2和一个webflow.mvc.servlet.FlowController。

我希望将表单数据提交体(POST)直接绑定到流到此flow视图的模型。

在内部导航流程和提交表单数据时,数据将正确绑定到模型,但在提交来自外部网站数据的数据时不会自动绑定。

为了检查这一点,我在视图中使用了spring:form标记来通过其名称/路径绑定提交的组值。

代码语言:javascript
复制
Example: 
  - the views model is named "model"
  - the class used for the model object is has an attribute called "value1"
  -> the bind path for the form:input element is "model.value1"  
  -> the submitted form input field is named "model.value1" as well

更新

我现在可以使用以下方法手动访问请求参数:

代码语言:javascript
复制
<action-state>
  <evaluate expression="myBinder.execute(flowRequestContext)"/>
</action-state>

其中myBinder是实现org.springframework.webflow.execution.Action的自定义Java类。

flowRequestContext是框架提供的EL变量。

通过requestContext.getExternalContext().getRequestParameterMap();公开请求的参数。

现在,要将这些参数绑定到我的模型bean中,是否有一种自动实现这些参数的方便方法,比如这里和那里都提到了一个"bindAndValidate“方法。我不知道在班级中这种方法是可用的。

我希望有一些类来超类我的模型bean,但我在任何地方都找不到它。

更新

现在,我没有实现Action,而是将FormAction子类化为bindAndValidate()方法。但是,该方法需要将请求作为参数,我还不知道如何在EL中最好地检索对请求的引用。

此外,我还没有检查这是否真的会将请求参数绑定到我的模型并解决我的问题。

更新

我找到了一个示例,显示了在不提供参数的情况下调用bind方法--所以我假设这些(requestContext)是由框架找到的。

使用这种方法,模型名称和类被设置为FormAction bean上的一个属性。

流似乎运行正常,但请求参数仍未绑定.

也许我必须回到手动方法中,从请求中读取每个参数并将其设置在模型对象上.

任何想法都欢迎..。

EN

回答 1

Stack Overflow用户

发布于 2012-06-06 16:21:27

可以使用EL访问XML流定义中的请求参数。例如,如果您想在请求中访问一个名为“requestParameters.param1”的参数,请使用requestParameters.param1

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8314081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档