我正在尝试学习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返回列表。(RetailerDetails是我实现后端数据库的类)
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的情况下进行此操作。我见过一些代码,其中人们使用jquery或js在SpringMVC中实现ajax。我的问题是,这是AJAX吗?我们在不使用Javascript或Jquery的情况下获得了与AJAX类似的功能。为什么在使用Spring MVC时使用jquery或js来实现AJAX。你能给我举一个具体的例子吗?我已经学习了很多MVC和AJAX的教程,但对这个概念还没有完全理解。我意识到我在这里遗漏了一些基本概念。但如果你能解释一下的话,这会帮我弄清楚的。
引用什么是AJAX,真的吗?
这是Nosredna的答案:
"英文大意是:你有一个网页按钮按下或其他形式的事件,或者只是由计时器)发生并触发JavaScript代码,该代码要求服务器最新信息(如谷歌股票的最新价值)。有一个服务器上的一段代码,用于收集您传递的信息发回一些信息。这与页面服务工作不同服务器通常具有。当服务器回答时,回调函数(您在对服务器的JavaScript调用中指定的)与服务器的信息。您的JavaScript代码使用该信息更新一些东西——比如谷歌的股票图表。"
在我的代码中,不使用Javascript就可以实现相同的功能?这意味着我们可以在不使用任何Javascript的情况下实现AJAX功能?在这种情况下,我们什么时候才能真正使用Javascript来实现AJAX?
如果您在浏览器中打开开发人员工具(f12),打开网络选项卡,然后从网页执行请求,您将看到整个html页面在响应中返回。
使用AJAX,服务器将只返回一个JSON键值映射。然后,您的javascript代码可以使用它来填充页面的一个部分,使页面的大部分内容保持不变。
这样更高效、更快。