【发布时间】:2016-03-12 08:08:30
【问题描述】:
我正在尝试学习 Spring MVC,我想亲身体验 MVC。我有一个简单的 Web 应用程序,我在其中输入来自用户的字符串并将数据库中的一些结果显示给用户。所有这些都发生在一个页面中,无需页面刷新。我们可以在控制器中使用 RequestParam 并访问 JSP 页面中的元素。 (我正在为这个项目使用 Bootstrap) 例如在 home.jsp 中,
<form class="navbar-form navbar-right">
<input type="text" name="myValues" class="form-control" placeholder="product..." >
</form>
并且,在控制器中,
@RequestMapping(value={"", "/", "/home"}, method = RequestMethod.GET)
public String home(Locale locale, Model model,@RequestParam(value="myValues", required=false) String myValues) {
logger.info("Welcome home! The client locale is {}.", locale);
这将帮助我在控制器中获取表单查询字符串。
然后我可以进行必要的处理并在控制器中使用 addAttribute 来返回列表。 (Retailerdetail是我实现后端数据库的类)
ArrayList <RetailerDetail> rlist = mydata.getData();
model.addAttribute("name",rlist);
return "home";
并在jsp页面中显示。
<c:forEach items="${name}" var="element">
<tr>
<td>${element.name}</td>
</tr>
</foreach>
此时我正在执行此操作而不使用 Jquery 或 js。我看过一些代码,人们在 Spring MVC 中使用 jquery 或 js 实现 ajax。 我的问题,这是 AJAX 吗?我们在不使用 Javascript 或 Jquery 的情况下获得与 AJAX 类似的功能。为什么在使用 Spring MVC 时使用 jquery 或 js 来实现 AJAX。您能否举一个具体的例子,我可能必须这样做?我已经阅读了很多 MVC 和 AJAX 教程,但对这个概念没有完全理解。我意识到我在这里遗漏了一些基本概念。但是,如果您能解释一下,它将帮助我更加清楚。
这是 Nosredna 的回答:
"英文粗略的想法:你有一个网页。一些事件(可以是 按下按钮或其他表单事件,或者只是由 timer) 发生并触发 JavaScript 代码请求服务器 新鲜信息(如谷歌股票的最新价值)。有个 服务器上的一段代码,用于收集您传递的信息和 发回一些信息。这与页面服务工作不同 服务器一般都有。当服务器应答时,一个回调函数 (您在对服务器的 JavaScript 调用中指定的)被调用 来自服务器的信息。您的 JavaScript 代码使用该信息 更新一些东西——比如 GOOG 股票图表。”
在我的代码中,无需使用 Javascript 即可实现相同的功能?这意味着我们可以在不使用任何 Javascript 的情况下实现 AJAX 功能?在这种情况下,我们什么时候真的必须使用 Javascript 来实现 AJAX?
【问题讨论】:
-
嗨@kryger,谢谢你的回答。但正如我在上面编辑的那样引用什么是 AJAX,真的吗?
-
这是 Nosredna 的回答:“英文粗略的想法:你有一个网页。一些事件(可以是按钮按下或其他表单事件,或者只是由计时器触发的事件)发生并触发向服务器询问最新信息的 JavaScript 代码(例如 GOOG 股票的最新价值)。服务器上有一段代码收集您传递的信息并将一些信息发回。这与页面服务工作不同服务器通常有。
-
当服务器应答时,将使用来自服务器的信息调用回调函数(您在 JavaScript 调用服务器中指定的函数)。你的 JavaScript 代码使用这些信息来更新一些东西——比如 GOOG 股票图表。”
-
在我的代码中,不使用 Javascript 也能实现相同的功能?这意味着我们可以在不使用任何 Javascript 的情况下实现 AJAX 功能?在这种情况下,我们什么时候真的必须使用 Javascript 来实现 AJAX?
标签: javascript jquery ajax spring model-view-controller