input/select 值更改触发事件 Spring 网络流

Triggering event on input/select value change with Spring web flow

我想在用户更改 select 框中的值时触发流程更改:

<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 我没有找到答案。 请问有人可以帮忙吗?任何建议表示赞赏。

我想要实现的更改是设置要激活的按钮,当从 select 框中选择值时。

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

首先,严格使用 javascript(全部在 UI 中),通过在您的 select 元素上使用 onchange and/or onclick 找到按钮和 activate/deactivate它

二、使用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>

这将重新呈现视图,您正在使用的 property/attribute 将更新您的按钮 enable/disable。 使用 validate="false" 很重要,否则验证错误可能会阻止您的转换成功