Java SpringMVC如何将数据从数据库显示到表中

Java SpringMVC如何将数据从数据库显示到表中,java,database,spring-mvc,Java,Database,Spring Mvc,我对SpringMVC很陌生,所以目前我对它还不太了解。我想在表视图中显示数据库中的所有字段,我该怎么做 在我的控制器中 @RequestMapping(value = "task", method = RequestMethod.GET) public String taskList(Map<String, Object> model) { model.put("task", taskRepository.findAll()); retu

我对SpringMVC很陌生,所以目前我对它还不太了解。我想在表视图中显示数据库中的所有字段,我该怎么做

在我的控制器中

@RequestMapping(value = "task", method = RequestMethod.GET)
  public String taskList(Map<String, Object> model) {
            model.put("task", taskRepository.findAll());
        return "/tasks/list";
      }
@RequestMapping(value=“task”,method=RequestMethod.GET)
公共字符串任务列表(映射模型){
model.put(“task”,taskRepository.findAll());
返回“/任务/列表”;
}
我的jsp:

<%@include file="/WEB-INF/views/includes/header.jsp"%>

<h4 class="form-header">${title}</h4>

<div class="forms col-md-12 bounceInDown mainContent" data-wow-delay="0.2s">



<table class="table table-striped">
  <thead>
    <tr>
      <th>Task ID</th>
      <th>Task Name</th>
      <th>Task Description</th>
    </tr>
  </thead>
  <tbody>
    <c:if test="${empty task}">
      <tr>
        <td colspan="8">No task to Display</td>
      </tr>
    </c:if>
    <c:if test="${not empty task}">

      <c:forEach items="${tasks}" var="task">
        <tr class="">
          <td>${task.taskid}</td>
          <td>${task.taskName}</td>
          <td>${task.taskDescription}</td>
          <td>
            <fmt:message key="task.list.status.text.${task.status}" />
          </td>

        </tr>
      </c:forEach>
    </c:if>
  </tbody>
</table>
</div>

<%@include file="/WEB-INF/views/includes/footer.jsp"%>

${title}
任务ID
任务名称
任务描述
没有要显示的任务
${task.taskid}
${task.taskName}
${task.taskDescription}
对于初学者,我的taskRepository atm中没有任何内容:

@RequestMapping(value = "task", method = RequestMethod.GET)
public String taskList(Map<String, Object> model) {
        model.put("task", taskRepository.findAll());
        return "/tasks/list";
  }
现在,您的控制器应该如下所示:

@Autowired
SomeSevice someService;

@RequestMapping(value = "task", method = RequestMethod.GET)
@ResponseBody 
public List<MyEntityDto> taskList(Map<String, Object> model) {
    List<MyEntityDto> dtoList = someService.findALl();
    return dtoList;
  }
@Service
public class SomeService(){
  @Autowired 
  TaskRepository taskRepository;

  public List<MyEntityDto> findAll(){
    return assemblyTasks(taskRepository.findAll());//TODO implement method assemblyTasks
  }
}
@Autowired
有些服务,有些服务;
@RequestMapping(value=“task”,method=RequestMethod.GET)
@应答器
公共列表任务列表(地图模型){
List dtoList=someService.findALl();
返回数据集成商;
}
另一方面,您的服务应该如下所示:

@Autowired
SomeSevice someService;

@RequestMapping(value = "task", method = RequestMethod.GET)
@ResponseBody 
public List<MyEntityDto> taskList(Map<String, Object> model) {
    List<MyEntityDto> dtoList = someService.findALl();
    return dtoList;
  }
@Service
public class SomeService(){
  @Autowired 
  TaskRepository taskRepository;

  public List<MyEntityDto> findAll(){
    return assemblyTasks(taskRepository.findAll());//TODO implement method assemblyTasks
  }
}
@服务
公共类服务(){
@自动连线
任务库任务库;
公共列表findAll(){
返回assemblyTasks(taskRepository.findAll());//TODO实现方法assemblyTasks
}
}
请注意,我将您的存储库使用情况放入了服务中。这是应该采用的方式。您应该使用服务从数据库中获取数据,然后使用专门设计的对象-数据传输对象返回数据。 我将assemblyTask方法的实现留给您。您需要做的是指定要通过dto对象从实体传递到视图的字段。通常,您希望每个DTO对象都有一个汇编器类,但为了简单起见,我使用方法介绍了这个想法。如果您想了解有关DTO的更多信息,请查看以下帖子:

如果您完全不熟悉Spring world,我建议您也可以找到一些基本的web教程,例如:

首先创建一个具有类似于jsp中使用的字段的对象,并使用模拟对象存根该方法,您应该可以看到记录。接下来,您可以从数据库中获取数据并映射到这个对象。但确切的问题是什么?