0

我们正在使用 webflow,因为我们在提交之前要填写多个表单。在用户提交所有数据库事务时发生的最后一页。所以我希望用户防止多次提交。有没有办法让 webflow 本身优雅地处理这个。优雅地我的意思是它应该重定向或保持用户在同一页面上,这应该在内部防止多次提交的任何操作。请注意我们不能使用 javascript 。

4

2 回答 2

0

如果有一些内置机制来处理这种模式,那就太好了。与此同时,我们在我们的“动作”类中使用一个synchronized块、一个互斥体和一些流范围对象或属性来执行此操作。例如:

Object mutex = WebUtils.getSessionMutex(
        ((HttpServletRequest) context.getExternalContext().getNativeRequest()).getSession());

synchronized (mutex) {

    if (!model.isComplete()) {
        // complete transaction
        model.setComplete(true);
    }
 }

 // return correct transition
于 2013-03-07T06:19:03.430 回答
0

你可以用 javascript 来做:

    <html>
    <head>
    <script language="JavaScript" type="text/javascript">
        var count = 0;
        function submitFunction(eventId){   
            if(count == 0){
                count++;
                document.getElementById("yourForm")._eventId.value = eventId;   
                document.getElementById("yourForm").submit(); 
            }else{
                document.getElementById("requestMsg").style.display = 'block';
            }
        }
    </script>
    <head>
    </head>
    <body>
    <form:form id="yourForm" commandName="yourForm" method="post">
        <table>
            <tr>
                <td>
                    <div id="requestMsg">Request under process....</div>
                </td>
            </tr>
            ....
            <tr>
                <td>
                    <a href="javascript:submitFunction('submit');"><span>Submit</span></a>
                </td>
            </tr>   
        </table>
    </form:form>
    </body>

于 2014-04-28T17:35:13.060 回答