作者think12381 ()
看板java
標題[問題]spring boot 報錯 NumberFormatException
時間Thu Dec 12 22:32:57 2019
請問一下各位大大 我目前正在學習Java spring boot
開發環境是採 用 idea
目的是要採用網頁去DB裡面撈資料出來
都會產生以下錯誤
Failed to convert value of type 'java.lang.String' to required type 'long';
nested exception is java.lang.NumberFormatException: For input string: "books"
看起來是說 自串不能轉long
但是我這樣要怎麼對到 html去
google許久還是查不到解法
請教各位大神
謝謝
以下是局部代碼
實體
===========================================
@Entity
public class Book2 {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
private int status;
private String author;
private String description;
===============================================
controller
@GetMapping("/booklist/{id}")
public String ListBook(@PathVariable("id") long id, Model model){
Optional<Book2> book2 = bookService.getOne(id);
if(book2 == null){
book2 = Optional.of(new Book2());
}
model.addAttribute("book", book2);
System.out.println(book2.get().getName()+ " "
+
book2.get().getId() + " "+
book2.get().getAuthor()+ " "+
book2.get().getDescription()+ " "+
book2.get().getStatus());
return "books";
=============================================================================
book repository
public interface BookRepository extends JpaRepository<Book2,Long> {
==============================================================================
service
@Service
public class BookService {
@Autowired
private BookRepository bookRepository;
===========================================================================
books.html
<body>
<div class = "container" style="max-width: 700px">
<h2 class = "page-header" style="margin-top: 50px">書單內容</h2>
<div class="well">
<p>
<strong> 作者 </strong>
<span th:text = "${book.author}"> bb
</span>
</p>
<p>
<strong> 描述 </strong>
<span th:text = "${book.description}"> cc </span>
</p>
<p>
<strong> 書名 </strong>
<span th:text = "${book.name}"> aa </span>
</p>
<p>
<strong> 狀態 </strong>
<span th:text = "${book.status}"> dd </span>
</p>
</div>
</div>
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.141.140.205 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1576161180.A.50C.html
1F:→ ssccg: 你是連什麼網址? 12/12 23:09
2F:→ think12381: localhost:8080/booklist/4 12/13 06:57
3F:→ think12381: 4是我在db要抓的資料 12/13 06:57
4F:推 kohmiho: 感覺像dbo 欄位沒對準 12/13 08:20
5F:→ ssccg: 你是不是用成@RestController? 12/13 09:19
6F:→ think12381: entity 欄位 順序 要一致? 12/13 09:48
7F:→ tw11509: 有stack的話,一起給出來,比較好幫你確認問題在哪裡 12/13 11:11
8F:→ tw11509: 而且你book2 == null寫法有問題,已經用optional了,先 12/13 11:13
9F:→ tw11509: 去看看optional的用法 12/13 11:13
10F:→ tw11509: 你放入model的是optional物件,不是book2物件,要先從op 12/13 11:16
11F:→ tw11509: tional去get出來 12/13 11:16
12F:推 tw11509: 你的pathvariable應該不是帶入books吧 12/13 11:40
13F:推 bloodrance: .findById(id).orElse(null); < Service那邊要寫個 12/24 16:24
14F:→ bloodrance: 沒記錯當時我用Spring 2.0看1.5的教學時發生過 12/24 16:24
15F:→ bloodrance: 不過你的寫法我還是覺得怪詭異的 spring boot版本是? 12/24 16:31
16F:推 chi972121: Optional有isPeesent 12/25 20:57
17F:→ chi972121: *isPresent 12/25 20:57
18F:推 wxv1990: book2.isEmpty 03/08 15:58