2017-08-21 58 views
1

我是初學者,可以彈出mvc。我試圖將數據從MongoDB傳遞到JSP。 我看過其他網站的教程和答案,但我不知道我錯過了什麼。如何將數據從MongoDb傳遞給Jsp Spring引導

的錯誤,我得到:

java.lang.NumberFormatException:對於輸入字符串: 「URL」 在java.lang.NumberFormatException.forInputString(來源不明)〜[NA:1.8.0_144] 在java.lang.Integer.parseInt(來源不明)〜[NA:1.8.0_144] .....

這裏是我的代碼:

服務:

import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.List; 

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Service; 


import io.javabrains.springbootstarter.dao.TopicRepository; 
import io.javabrains.springbootstarter.model.Topic; 

@Service 

public class TopicServic { 

@Autowired 
private TopicRepository topicRepository; 


public List<Topic> getAllTopics(){  
    return (List<Topic>) topicRepository.findAll(); 
} 


public Topic getTopic(String id) { 
    //return topics.stream().filter(t -> t.getId().equals(id)).findFirst().get(); 
    return topicRepository.findOne(id); 
} 


public void addTopic(Topic topic) { 
    topicRepository.save(topic); 
} 


public void updateTopic(String id, Topic topic) { 
    topicRepository.save(topic); 
} 


public void deleteTopic(String id) { 
    topicRepository.delete(id); 
} 



} 

控制器:

import java.util.List; 

import javax.servlet.http.HttpServletRequest; 

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.DeleteMapping; 
import org.springframework.web.bind.annotation.GetMapping; 
import org.springframework.web.bind.annotation.PathVariable; 
import org.springframework.web.bind.annotation.PostMapping; 
import org.springframework.web.bind.annotation.RequestBody; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestParam; 
import org.springframework.web.bind.annotation.ResponseBody; 
import org.springframework.web.bind.annotation.RestController; 

import io.javabrains.springbootstarter.model.Topic; 
import io.javabrains.springbootstarter.service.TopicServic; 

@Controller 

public class TopicController { 

@Autowired 
private TopicServic topicServic; 

public TopicController(TopicServic topicServic) { 
    this.topicServic = topicServic; 
} 

@GetMapping("/topics") 
public String ListDocuments(Model model) { 
    model.addAttribute("topics", topicServic.getAllTopics()); 
    return "/bonjour"; 
} 
} 

JSP 「/卓悅」: ....

..... 
<table class="table table-striped table-bordered text-left"> 
    <thead> 
     <tr> 
      <th>Url</th> 
      <th>Name</th> 
      <th>Description</th> 
      <th>Tags</th> 
      <th>Type</th> 

     </tr> 
    </thead>      


    <tbody> 
     <c:forEach var="topics" items="${topics}">      
      <tr> 
       <td>${topic.url}</td> 
       <td>${topic.name}</td> 
       <td>${topic.description}</td> 
       <td>${topic.tags}</td> 
       <td>${topic.type}</td> 

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

回答

0

var拼寫錯了,應該是topic沒有topics

<c:forEach var="topic" items="${topics}">      
    <tr> 
     <td>${topic.url}</td> 
     <td>${topic.name}</td> 
     <td>${topic.description}</td> 
     <td>${topic.tags}</td> 
     <td>${topic.type}</td> 
    </tr> 
</c:forEach> 
+0

@ XPLOT10N 沒有更多的錯誤...但仍然無法正常工作...我看到我的JSP頁面,但表格是空的..我沒有得到數據 – Carikk

+0

你是否在JSTL的頂部聲明瞭JSTL?包括它的依賴?如果不是,請嘗試看看這個嚴謹的http://www.journaldev.com/2090/jstl-tutorial-jstl-tags-example。你現在只需要第一部分的'JSTL核心標籤'。 – XPLOT1ON

+0

@ XPLOT10N其工作... Thx – Carikk