本文收集整理关于springboot怎么返回页面的相关议题,使用内容导航快速到达。
内容导航:
Q1:前台页面怎么调用springboot返回的json字符串
前台页面:
function ajaxPost(){
$.ajax({
data:{"name":$("#name").val(),
"age":$("#age").val(),
"sex":$("input[name=sex]:checked").val()},
type:"Post",
async:false,//加上这个属性就好了
dataType: json,
url:"addStudent.jsp",
error:function(data){
alert(添加失败!);
},
success:function(data){
alert(添加成功!);
window.location.href = http://127.0.0.1/yijitao/list.jsp
}
});
}
Q2:java spring boot 中 controller 与页面 jsp 的交互
表单action的转跳与后端没有关系(如果没有权限拦截的情况下完全无关)。
以spring boot为例,通过controller访问转跳是因为你的controller返回来一个字符串,字符串会自动拼接为jsp或html的url给浏览器,最终形成转跳。例如:
@RequestMapping("home.do")
private String gohome(){
return "home";
}
会自动拼接为home.jsp或html
在ssm框架下这个拼接是需要自己配置的,springboot基于约定给了默认配置。
Q3:Spring boot的Controller类是如何指定HTML页面的
创建PageController,编码如下:
package org.springboot.sample.controller;
import java.util.Date;
import java.util.Map;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class PageController {
// 从 application.properties 中读取配置,如取不到默认值为Hello Shanhy
@Value("${application.hell:Hello Shanhy}")
private String hello = "Hello Shanhy";
/**
* 默认页
* @RequestMapping("/") 和 @RequestMapping 是有区别的
* 如果不写参数,则为全局默认页,加入输入404页面,也会自动访问到这个页面。
* 如果加了参数“/”,则只认为是根页面。
*
* @return
* @author SHANHY
* @create2016年1月5日
*/
@RequestMapping(value = http://127.0.0.1/yijitao/{"/","/index"})
public String index(Map
// 直接返回字符串,框架默认会去 spring.view.prefix 目录下的 (index拼接spring.view.suffix)页面
// 本例为 /WEB-INF/jsp/index.jsp
model.put("time", new Date());
model.put("message", this.hello);
return "index";
}
/**
* 响应到JSP页面page1、*
* @return
* @author SHANHY
* @create2016年1月5日
*/
@RequestMapping("/page1")
public ModelAndView page1(){
// 页面位置 /WEB-INF/jsp/page/page.jsp
ModelAndView mav = new ModelAndView("page/page1");
mav.addObject("content", hello);
return mav;
}
/**
* 响应到JSP页面page1(可以直接使用Model封装内容,直接返回页面字符串)
*
* @return
* @author SHANHY
* @create2016年1月5日
*/
@RequestMapping("/page2")
public String page2(Model model){
// 页面位置 /WEB-INF/jsp/page/page.jsp
model.addAttribute("content", hello + "(第二种)");
return "page/page1";
}
}123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566、
pom.xml添加依赖:
上面说了spring-boot 不推荐JSP,想使用JSP需要配置application.properties。
添加src/main/resources/application.properties内容:
# 页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/jsp/
# 响应页面默认后缀
spring.mvc.view.suffix=.jsp
# 自定义属性,可以在Controller中读取
application.hello=Hello Shanhy123456、
在 src/main 下面创建 webapp/WEB-INF/jsp 目录用来存放我们的jsp页面。
index.jsp
<body>
Time: ${time}
Message: ${message}