[問題]spring boot 報錯 NumberFormatException

看板java作者時間5年前 (2019/12/12 22:33), 編輯推噓5(5013)
留言18則, 7人參與, 5年前最新討論串1/1
請問一下各位大大 我目前正在學習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://www.ptt.cc/bbs/java/M.1576161180.A.50C.html

12/12 23:09, 5年前 , 1F
你是連什麼網址?
12/12 23:09, 1F

12/13 06:57, 5年前 , 2F
localhost:8080/booklist/4
12/13 06:57, 2F

12/13 06:57, 5年前 , 3F
4是我在db要抓的資料
12/13 06:57, 3F

12/13 08:20, 5年前 , 4F
感覺像dbo 欄位沒對準
12/13 08:20, 4F

12/13 09:19, 5年前 , 5F
你是不是用成@RestController?
12/13 09:19, 5F

12/13 09:48, 5年前 , 6F
entity 欄位 順序 要一致?
12/13 09:48, 6F

12/13 11:11, 5年前 , 7F
有stack的話,一起給出來,比較好幫你確認問題在哪裡
12/13 11:11, 7F

12/13 11:13, 5年前 , 8F
而且你book2 == null寫法有問題,已經用optional了,先
12/13 11:13, 8F

12/13 11:13, 5年前 , 9F
去看看optional的用法
12/13 11:13, 9F

12/13 11:16, 5年前 , 10F
你放入model的是optional物件,不是book2物件,要先從op
12/13 11:16, 10F

12/13 11:16, 5年前 , 11F
tional去get出來
12/13 11:16, 11F

12/13 11:40, 5年前 , 12F
你的pathvariable應該不是帶入books吧
12/13 11:40, 12F

12/24 16:24, 4年前 , 13F
.findById(id).orElse(null); < Service那邊要寫個
12/24 16:24, 13F

12/24 16:24, 4年前 , 14F
沒記錯當時我用Spring 2.0看1.5的教學時發生過
12/24 16:24, 14F

12/24 16:31, 4年前 , 15F
不過你的寫法我還是覺得怪詭異的 spring boot版本是?
12/24 16:31, 15F

12/25 20:57, 4年前 , 16F
Optional有isPeesent
12/25 20:57, 16F

12/25 20:57, 4年前 , 17F
*isPresent
12/25 20:57, 17F

03/08 15:58, 5年前 , 18F
book2.isEmpty
03/08 15:58, 18F
文章代碼(AID): #1Tya-SKC (java)
文章代碼(AID): #1Tya-SKC (java)