gpt4 book ai didi

java - Spring boot 中不渲染 Jsp View 页面。怎么解决呢?

转载 作者:行者123 更新时间:2023-12-01 19:14:42 24 4
gpt4 key购买 nike

我正在尝试发出一个 ajax 请求,将一个值发送到我的 spring boot。但是,一旦我合并了 ajax 调用并且它成功地将值传递给 java,它就不会查看 jsp 页面。我认为问题出在方法本身,但我不完全确定。我再次传递了值,但每当我使用 ModelAndViewModel 时,它似乎都不会相应地更改页面。

JSP:

 <script>
var chaptersTest = ${ chapters };
var totalChapters = chaptersTest.length;
var codeBlock;

for (var i = 0; i < totalChapters; i++) {

codeBlock =


'<div class="col-md-4">' +

' <a class="chapter_link" data-link="' + chaptersTest[i] + '" style="text-decoration: none; color: white"><div class="box warning">' +

' <h3>' + chaptersTest[i] + '</h3>' +

' </div></a></div>';

$("#chapterArea").append(codeBlock);
}


//clicked links

$('.chapter_link').click(function () {
console.log("YoUR fUNCtION IS cLICKED");
doSomething();
});



function doSomething() {
var search2 = {
"chapter": "riley"
}

$.ajax({
type: "POST",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
url: "/ajax",
data: JSON.stringify(search2),
success: function (result) {
console.log("It somewhat worked");
}

});

}



</script>

Java:

@RequestMapping(value = "/ajax", method = RequestMethod.POST)
public @ResponseBody String sectionView(@RequestBody BEntity benny, HttpServletRequest request) {
String temp = benny.getChapter();
ModelAndView secView = new ModelAndView();

try {
secView.setViewName("viewsections.jsp");
//It is not sending the jsp to change the page

} catch (Exception e) {
secView.setViewName("error.jsp");

}


System.out.println("Test 1");
return secView;
}


对象:



public class BEntity {

private String search;
private String chapter;
private String section;

public String getSection() {
return section;
}


public String getChapter() {
return chapter;
}

public String getSearch() {
return search;
}

@Override
public String toString() {
return "This was searched: " + search;
}

最佳答案

在 Controller 中,删除 @ResponseBody 注释并将返回类型更改为 ModelAndView。在 ajax 代码中将 dataType 更改为 html

如果您尚未正确配置 View ,请在 application.properties 中将前缀和后缀设置为:

spring.mvc.view.prefix: /views/
spring.mvc.view.suffix: .jsp

spring.mvc.view.prefix 是 jsp 文件所在文件夹的路径。

@RequestMapping(value = "/ajax", method = RequestMethod.POST)
public ModelAndView sectionView(@RequestBody BEntity benny, HttpServletRequest request) {
String temp = benny.getChapter();
ModelAndView secView = new ModelAndView();
try {
secView.setViewName("viewsections");
//It is not sending the jsp to change the page
} catch (Exception e) {
secView.setViewName("error");
}
System.out.println("Test 1");
return secView;
}

关于java - Spring boot 中不渲染 Jsp View 页面。怎么解决呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59431312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com