Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ThymileAF不显示来自MySQL的数据_Mysql_Spring_Thymeleaf - Fatal编程技术网

ThymileAF不显示来自MySQL的数据

ThymileAF不显示来自MySQL的数据,mysql,spring,thymeleaf,Mysql,Spring,Thymeleaf,我是Spring框架和Thymeleaf的初学者。我写了一个代码,可以在网站上显示数据库中的数据。我将我的代码与MySQL数据库集成。不知何故,当我在localhost:8080上查看时,数据根本不会显示在站点上 控制器: @Controller public class HomeController { private TicketService ticketService; @Autowired public void setTicketService(TicketService tic

我是
Spring
框架和
Thymeleaf
的初学者。我写了一个代码,可以在网站上显示数据库中的数据。我将我的代码与
MySQL
数据库集成。不知何故,当我在
localhost:8080
上查看时,数据根本不会显示在站点上

控制器:

@Controller
public class HomeController {

private TicketService ticketService;

@Autowired
public void setTicketService(TicketService ticketService){
    this.ticketService = ticketService;
}

@RequestMapping(value = "/index",method = RequestMethod.GET)
public String list(Model model){
    model.addAttribute("ticket", ticketService.listAllTickets());

    return "index";

}
}
 public interface TicketRepository extends CrudRepository<Ticket, Integer> {
 } 
public interface TicketService {
Iterable<Ticket> listAllTickets();

}
 @Service
 public class TicketServiceImpl implements TicketService {
private TicketRepository ticketrepository;

@Autowired
public void setProductRepository(TicketRepository ticketRepository) {
    this.ticketrepository = ticketRepository;
}

@Override
public Iterable<Ticket> listAllTickets() {
    return ticketrepository.findAll();
}
}
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:th="http://www.thymeleaf.org">
 <head>
    <title>Ticket</title>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<style>
 table, th, td {
 border: 1px solid black;
 padding: 1px;
  }
  </style>
  </head>
  <body>
            <div>
                <table>

                    <tr>
                        <th>Ticket Station</th>
                        <th>Ticket Text</th>
                        <th>Created at </th>
                    </tr>
                    <tr th:each="ticket : ${ticket}">
                        <td th:text="${ticket.ticket_station}">Text ...</td>
                        <td th:text="${ticket.ticket_text}">Text ...</td>
                        <td th:text="${ticket.ticket_created_at}">Text ... 
   </td>
                    </tr>
                </table>
            </div>
   </body>
  </html> 
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/dol
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
   <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.pstw</groupId>
<artifactId>Portal</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>Portal</name>
<description>Demo project for Spring Boot</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
道:

@Controller
public class HomeController {

private TicketService ticketService;

@Autowired
public void setTicketService(TicketService ticketService){
    this.ticketService = ticketService;
}

@RequestMapping(value = "/index",method = RequestMethod.GET)
public String list(Model model){
    model.addAttribute("ticket", ticketService.listAllTickets());

    return "index";

}
}
 public interface TicketRepository extends CrudRepository<Ticket, Integer> {
 } 
public interface TicketService {
Iterable<Ticket> listAllTickets();

}
 @Service
 public class TicketServiceImpl implements TicketService {
private TicketRepository ticketrepository;

@Autowired
public void setProductRepository(TicketRepository ticketRepository) {
    this.ticketrepository = ticketRepository;
}

@Override
public Iterable<Ticket> listAllTickets() {
    return ticketrepository.findAll();
}
}
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:th="http://www.thymeleaf.org">
 <head>
    <title>Ticket</title>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<style>
 table, th, td {
 border: 1px solid black;
 padding: 1px;
  }
  </style>
  </head>
  <body>
            <div>
                <table>

                    <tr>
                        <th>Ticket Station</th>
                        <th>Ticket Text</th>
                        <th>Created at </th>
                    </tr>
                    <tr th:each="ticket : ${ticket}">
                        <td th:text="${ticket.ticket_station}">Text ...</td>
                        <td th:text="${ticket.ticket_text}">Text ...</td>
                        <td th:text="${ticket.ticket_created_at}">Text ... 
   </td>
                    </tr>
                </table>
            </div>
   </body>
  </html> 
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/dol
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
   <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.pstw</groupId>
<artifactId>Portal</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>Portal</name>
<description>Demo project for Spring Boot</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
服务:

@Controller
public class HomeController {

private TicketService ticketService;

@Autowired
public void setTicketService(TicketService ticketService){
    this.ticketService = ticketService;
}

@RequestMapping(value = "/index",method = RequestMethod.GET)
public String list(Model model){
    model.addAttribute("ticket", ticketService.listAllTickets());

    return "index";

}
}
 public interface TicketRepository extends CrudRepository<Ticket, Integer> {
 } 
public interface TicketService {
Iterable<Ticket> listAllTickets();

}
 @Service
 public class TicketServiceImpl implements TicketService {
private TicketRepository ticketrepository;

@Autowired
public void setProductRepository(TicketRepository ticketRepository) {
    this.ticketrepository = ticketRepository;
}

@Override
public Iterable<Ticket> listAllTickets() {
    return ticketrepository.findAll();
}
}
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:th="http://www.thymeleaf.org">
 <head>
    <title>Ticket</title>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<style>
 table, th, td {
 border: 1px solid black;
 padding: 1px;
  }
  </style>
  </head>
  <body>
            <div>
                <table>

                    <tr>
                        <th>Ticket Station</th>
                        <th>Ticket Text</th>
                        <th>Created at </th>
                    </tr>
                    <tr th:each="ticket : ${ticket}">
                        <td th:text="${ticket.ticket_station}">Text ...</td>
                        <td th:text="${ticket.ticket_text}">Text ...</td>
                        <td th:text="${ticket.ticket_created_at}">Text ... 
   </td>
                    </tr>
                </table>
            </div>
   </body>
  </html> 
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/dol
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
   <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.pstw</groupId>
<artifactId>Portal</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>Portal</name>
<description>Demo project for Spring Boot</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
模式:

   CREATE DATABASE dol;
   CREATE TABLE `dol`.`ticket` (
     id INT NOT NULL AUTO_INCREMENT,
     ticket_text VARCHAR(100) NOT NULL,
     ticket_created_at DATETIME NOT NULL,
     ticket_station VARCHAR(250) NOT NULL,
     PRIMARY KEY (id));

   INSERT INTO `dol`.`ticket` ( `ticket_text`, `ticket_station`, 
   `ticket_created_at`) VALUES ( 'wow', 'London', '2018-01-13 15:59:26');
Pom.xml:

@Controller
public class HomeController {

private TicketService ticketService;

@Autowired
public void setTicketService(TicketService ticketService){
    this.ticketService = ticketService;
}

@RequestMapping(value = "/index",method = RequestMethod.GET)
public String list(Model model){
    model.addAttribute("ticket", ticketService.listAllTickets());

    return "index";

}
}
 public interface TicketRepository extends CrudRepository<Ticket, Integer> {
 } 
public interface TicketService {
Iterable<Ticket> listAllTickets();

}
 @Service
 public class TicketServiceImpl implements TicketService {
private TicketRepository ticketrepository;

@Autowired
public void setProductRepository(TicketRepository ticketRepository) {
    this.ticketrepository = ticketRepository;
}

@Override
public Iterable<Ticket> listAllTickets() {
    return ticketrepository.findAll();
}
}
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:th="http://www.thymeleaf.org">
 <head>
    <title>Ticket</title>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<style>
 table, th, td {
 border: 1px solid black;
 padding: 1px;
  }
  </style>
  </head>
  <body>
            <div>
                <table>

                    <tr>
                        <th>Ticket Station</th>
                        <th>Ticket Text</th>
                        <th>Created at </th>
                    </tr>
                    <tr th:each="ticket : ${ticket}">
                        <td th:text="${ticket.ticket_station}">Text ...</td>
                        <td th:text="${ticket.ticket_text}">Text ...</td>
                        <td th:text="${ticket.ticket_created_at}">Text ... 
   </td>
                    </tr>
                </table>
            </div>
   </body>
  </html> 
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/dol
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
   <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.pstw</groupId>
<artifactId>Portal</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>Portal</name>
<description>Demo project for Spring Boot</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

4.0.0
com.pstw
门户
0.0.1-快照
罐子
门户
SpringBoot的演示项目
org.springframework.boot
spring启动程序父级
2.0.1.1发布
UTF-8
UTF-8
1.8
org.springframework.boot
spring引导启动器数据jpa
org.springframework.boot
弹簧启动装置
org.springframework.boot
SpringBootStarterWeb
mysql
mysql连接器java
运行时
org.springframework.boot
弹簧起动试验
测试
org.springframework.boot
springbootmaven插件

不确定Thymeleaf是否可以处理Iterable。尝试在控制器或服务中传递一个简单的Arraylist

Ticket ticket = new Ticket();
ticket.setTicket....
List<Ticket> tickets = new ArrayList<>(ticket);
model.addAttribute("ticket", tickets);
票证=新票证();
票,票。。。。
列表票证=新阵列列表(票证);
model.addAttribute(“票证”,票证);

如果有效,请将Iterable更改为在服务中列出,然后重试。也许你的MySql数据没有问题

也许你应该查看
localhost:8080/索引
而不是
localhost:8080
?我已经使用了localhost:8080,它仍然有效。但不知何故,在表中,数据库中的数据并没有显示出来。(localhost:8080/index,我尝试显示错误白色标签错误页)。@Wero您的类路径中有thymeleaf吗?@SangamBelose我想我没有类路径。您使用的构建工具是什么?你是如何看待弹簧罐的。。?检查您的依赖项中是否有thymeleaf jar