暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

从零开始学SpringBoot-集成JSP

码蚁在线 2018-06-20
188

    

    SpringBoot官网上推荐使用Thymeleaf模板引擎,但是我们很多时候还是使用JSP来实现界面的展示,所以这篇文件就主要是讲解如何使用SpringBoot集成JSP。如大家对Thymeleaf有问题,可以一起交流。

1、依赖jar包

由于一直使用Maven,直接在pom.xml中添加需要的jar包

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>priveded</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>priveded</scope>
</dependency>

2、application.properties文件配置

spring.mvc.view.prefix=/WEB-INF/views/

spring.mvc.view.suffix=.jsp

#关闭默认模板引擎

spring.thymeleaf.cache=false

spring.thymeleaf.enabled=false


3、创建WEB-INF文件

在src/main下面创建相关目录,目录结构为 webapp/WEB-INF/views,并在views文件中添加一个jsp界面listUser.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<table align='center' border='1' cellspacing='0'>
    <tr>
        <td>id</td>
        <td>name</td>
    </tr>
    <c:forEach items="${users}" var="s" varStatus="st">
        <tr>
            <td>${s.id}</td>
            <td>${s.userName}</td>
        </tr>
    </c:forEach>
</table>

4、实现服务端代码

4.1、先创建一个User对象

package com.example.demo.domain;
import java.io.Serializable;
public class User implements Serializable {
	private static final long serialVersionUID = 1L;
	private String id;
	private String userName;
	private String age;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", userName=" + userName + ", age=" + age
				+ "]";
	}
	public User() {
	}
}

4.2、创建Controller来实现数据的返回

package com.example.demo.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.example.demo.domain.User;
import com.example.demo.mapper.UserMapper;
@Controller
public class UserController {
	@RequestMapping("/listUser")
	public String listUser(Model model) {
		List<User> listUser = new ArrayList<>();
		User user = null;
		for(int i=0; i<10; i++) {
			user = new User();
			user.setId((i + 1) + "" );
			user.setUserName("张三"  + i);
			user.setAge((20 + i) + "");
			listUser.add(user);
		}
		model.addAttribute("users", listUser);
		return "listUser";
	}
}

5.通过浏览器输入:http://localhost:8080/listUser 

效果如图:


分享朋友圈、点赞就是对全栈工程师成长记公众号最大的支持!


文章转载自码蚁在线,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论