【问题标题】:Spring request parameter handlingSpring请求参数处理
【发布时间】:2013-10-04 18:51:52
【问题描述】:

我正在使用 spring MVC 开发一个问卷应用程序。我的表格有 30 个问题和 30 个单选按钮。当用户提交表单时,我必须从请求中获取用户答案 我有三个决定。

  1. 在循环内调用 request.getParameter() 30 次

  2. public class QuestionBank {
    
        private List<Question>  question;
    ....
    }
    
    
         <form:form action="question.html" modelAttribute="QuestionList" >
    
            <c:forEach items="${QuestionList.question}" var="q" varStatus="status">
             ...
                        <input type="radio" name="question[${status.index}].useranswer" value="1" />
                        <input type="radio" name="question[${status.index}].useranswer" value="2" />
                    ...
                    </div>
            </c:forEach>
    
                    <input type="submit" value="submit" />
             </form:form>
    

    处理控制器内部的列表

  3. 使用 Ajax 提交(创建 json 格式的答案)

从这三个方面推荐和快速处理?

【问题讨论】:

  • 如果速度是目标,那么从用户的角度来看,AJAX 可能是最快的,因为它不需要重新加载整个页面。其次是原始请求和读取参数,因为您不必等待 Spring 尝试弄清楚如何构建对象。最后我会说域对象和@ModelAttribute。这一切都基于推测,因为我内部不知道 Spring 可能采取的不同路径。

标签: java spring spring-mvc


【解决方案1】:

恕我直言,我们寻找最快的方式来做某事并不是一个好主意! 我想我们应该看看我们要做什么,最快的方法是相对于我们的问题! 如果我们只想计算“处理时间”,它无法帮助我们找到更好的解决方案。 Request , ajax 或 spring 是向服务器发送请求的 3 种方式。 在您的问题中,我认为最好将对象映射与 spring 一起使用,因为您实际上是在发送一个 FORM,也许您想验证它,最好 spring 为您完成它,肯定会重新加载页面的所有内容或一部分这不是问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 2021-11-22
    • 2015-07-31
    • 1970-01-01
    • 2018-01-03
    相关资源
    最近更新 更多