springboot支持jsp並傳參

springboot本身並不支持jsp,官方建議不使用jsp,而是將資源模板或靜態文件放在resource下的static和template的文件夾下;

故要使用jsp,就需要引入一些包,使用tomcat來支持jsp;

1、pom.xml

先修改打包方式爲war包,默認的是jar包

導入以下幾個jar包,

<!-- 支持jsp -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <!--  <scope>provided</scope>-->
        </dependency>
        <!-- JSTL (JSP standard Tag Library) JSP 標準標籤庫 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
有的資料上說還要導入一個包,但是我沒有導入這個jar也是成功的,你可以看你情況,若失敗就可以導入這個jar包
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>provided</scope>
</dependency>

2、導包完成後,修改你的配置文件,我的是yml格式的,

#支持jsp
spring:
  mvc:
    view:
      prefix: /WEB-INF/
      suffix: .jsp

prefix確定jsp的文件路徑,你可以改到你的路徑下;

suffix 是指定jsp文件的後綴;

3、開發你的jsp文件,並放到你配置文件配置的目錄下,這是我的目錄結構,在main文件下(java同級目錄),新建你指定的路徑,我的是 webapp---》WEB-INF---》editor.jsp,若上一步你的是/WEB-INF/jsp/ ,那這裏就是 webapp---》WEB-INF---》jsp---》editor.jsp了。

 

4、開發你的controller(我用controller開發,若你用servlet,可以參考其他資料,但是之前的配置是不變的)

@Controller
public class TestController {


    @RequestMapping("/test")
    public String test(HttpServletRequest request, HttpServletResponse response) {
        return "editor";
    }


}

這裏劃重點了,記住註解要是@Controller 而不是常用的@RestController,因爲後者會默認返回json數據,

RestController = Controller  + responseBody

至此這樣配置完成後,重啓你的項目就可以了。直接啓動application類就可以了。

 

以下是給jsp頁面傳值,我採用的是  Request.setAttribute(name, value);

controller在返回的時候返回 字符串就可以了;

若你像使用其他方式,例如ModelAndView,請參考

https://www.cnblogs.com/xuange306/p/6398090.html

這裏寫的很詳細了,大牛。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章