如何解决在执行AJAX GET请求后无法访问模型属性
我有一个Spring引导控制器,我想接受div的String作为可选参数,以便可以用JSTL相应地加载我的JSP。我的问题是,在AJAX将参数传递给控制器之后,它会在模型中设置属性,但是我无法在JSP中访问模型属性。
我的控制器:
@GetMapping("/MainMenu")
public String index(Model model,Principal principal,@RequestParam(required = false) String linkClicked){
if(linkClicked != null){
logger.info("link clicked");
model.addAttribute("linkClicked",linkClicked);
}
return "MainMenu";
}
AJAX:
$(document).on("click","#frameworkLink",function () {
var linkClicked = $(this).text();
$(".groups").detach();
$(".frameworks").show();
$.ajax({
type: "GET",url: "/MainMenu",data: {"linkClicked": linkClicked},dataType: 'text',});
});
JSP:
<c:if test="${linkClicked != null}">
<c:if test="${linkClicked == 'Frameworks'}">
<div class="frameworks">
<sec:authorize access="hasAuthority('Admin')">
<button class="createGroup" id="createFramework" type="button" onclick="createFramework()">Create Framework</button>
</sec:authorize>
<c:forEach items="${frameworkList}" var="framework">
<div class="framework">${framework}</div>
</c:forEach>
</div>
</c:if>
</c:if>
编辑:按照重复的帖子的建议将@ResponseBody
添加到我的控制器方法中并没有什么不同。另外,我尝试将控制器的返回值更改为ModelAndView
,这也没有任何区别。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。