Spring Web Flow视图状态无法正常工作

时间:2019-02-23 15:06:55

标签: spring spring-webflow

我正在使Spring Web Flow应用程序具有验证功能并有机会加载照片,但是不幸的是,当我单击表单上的“提交”按钮时,没有任何反应。 flow.xml文件:

  <?xml version="1.0" encoding="UTF-8"?>
  <flow xmlns="http://www.springframework.org/schema/webflow"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd">


<var name="user" class="entity.User"/>

<view-state id="registratingForm" view="/WEB-INF/pages/registration.jsp" model="user">
    <transition on="submit" to="validate"/>
</view-state>


<action-state id="validate">
    <evaluate expression="userServiceImpl.valid(requestParameters.photo,messageContext)" />
    <transition on="valid" to="saveUser" />
    <transition on="invalid" to="end-point" />
</action-state>
<action-state id="saveUser">
    <evaluate expression="userServiceImpl.add(user)" result="user" />
    <evaluate expression="userServiceImpl.validateImg(requestParameters.photo,user)"  result="user"/>
    <transition to="end-point" />
</action-state>
<end-state id="end-point" view="/index.jsp"/>
</flow>

我的表格:

       <form:form modelAttribute="user" enctype="multipart/form-data">
    <table>
        <tr>
            <td><form:label path="login">Логін:</form:label></td>
            <td><form:input path="login"/> <form:errors path="login" cssClass="isa_error"/></td>
        </tr>
        <tr>
            <td><form:label path="password">Пароль:</form:label></td>
            <td><form:password path="password"></form:password><form:errors path="password" cssClass="isa_error" /> </td>
        </tr>
        <tr>
            <td><form:label path="email">Пошта(електронна):</form:label></td>
            <td><form:input path="email"/> <form:errors path="email" cssClass="isa_error"/></td>

        </tr>
        <tr>
          <td><form:label path="about">Опис</form:label></td>
            <td><textarea name="about" cols="40" rows="10">Введіть опис сюди!</textarea></td>
        </tr>
        <tr>
            <td>Аватар:</td>
            <td><input name="photo" type="file" ></td>

        </tr>
        <tr>
            <input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}"/>
            <td><input  type="submit" value="Додати" name="_eventId_submit" onclick="this.disabled=true;this.value='Виконується!';this.form.submit();"></td>
        </tr>
      <tr>
          <td><form:errors cssClass="isa_error" delimiter=""/> </td>

      </tr>
    </table>
<p>
    <a href="/index.jsp" class="button">На головну!</a>

</p>

我不知道出了什么问题,因为我有与此类似的流程图,并且它已经正常工作,我想调试,但是我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

已修复!问题出在此代码中:

onclick="this.disabled=true;this.value='Виконується!';this.form.submit();"

我一直没有价值地提交,这就是为什么我的流程不动的原因