使用Spring Web Flow更改输入/选择值时的触发事件

时间:2019-03-04 13:45:50

标签: spring spring-webflow spring-webflow-2

当用户在选择框中更改值时,我想触发流量更改:

<select>
  <options>
    <option>1</option>
    <option>2</option>
  </options>
</select>

阅读此文档后:https://docs.spring.io/spring-webflow/docs/current/reference/html/spring-mvc.html#spring-mvc-resuming-on-event 我没有找到答案。 请帮忙吗?任何建议表示赞赏。

我要实现的更改是在从选择框中选择了值之后,将按钮设置为激活。

1 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点:

首先,严格使用javascript(在用户界面中全部使用),通过在select元素上使用onchange和/或onclick来找到按钮并激活/停用它

第二,使用Webflow:

  • onchange提交表格
  • 使用适当的更改重新渲染视图

假设您要在此处使用webflow,可以使用以下方法:

JSP

<form id="myFormId" action="${flowExecutionUrl}" method="post">
    <select id="mySelectId" onchange="Spring.remoting.submitForm('mySelectId', 'myFormId', {fragments:'body', _eventId: 'myChangeEvent'}); return false;">
        ...
    </select>
</form>

流量

<view-state id="myViewStateId">
    <transition on="myChangeEvent" validate="false" bind="true">
        <!-- change some property to enable your button -->
    </transition>
</view-state>

这将重新渲染视图,并且用于启用/禁用按钮的属性/属性将被更新。 使用validate="false"很重要,否则验证错误可能会阻止转换成功