해결된 질문
작성
·
798
2
회원 등록 -> 상품 등록 -> 주문하기 에서 주문 완료시 에러가 발생합니다
에러 메시지는 html 파싱 에러 라고 나오는데, 경로는 이상이 없는것 같아서 질문 드려봅니다
OrderController
@Controller
@RequiredArgsConstructor
public class OrderController {
private final OrderService orderService;
private final MemberService memberService;
private final ItemService itemService;
@GetMapping("/order")
public String createForm(Model model) {
List<Member> members = memberService.findMembers();
List<Item> items = itemService.findItem();
model.addAttribute("members", members);
model.addAttribute("items", items);
return "order/orderForm";
}
@PostMapping("/order")
public String order(@RequestParam("memberId") Long memberId, @RequestParam("itemId") Long itemId,
@RequestParam("count") int count) {
orderService.order(memberId, itemId, count);
return "redirect:/orders";
}
@GetMapping("/orders")
public String orderList(@ModelAttribute("orderSearch") OrderSearch orderSearch, Model model) {
List<Order> orders = orderService.findOrders(orderSearch);
model.addAttribute("orders", orders);
return "order/orderList";
}
}
`html 경로`
콘솔 에러 메시지
rg.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/order/orderList.html]")
at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:241) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]
at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]
at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:666) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) ~[thymeleaf-3.0.15.RELEASE.jar:3.0.15.RELEASE]
브라우져 에러 메시지
답변 6
3
안녕하세요. sy k님, 공식 서포터즈 OMG입니다.
.
해당 상황은 경험 상 두 가지 중 하나였던 것 같습니다.
1.타임리프 문법 태그 중간에 코드가 줄내림이 되어 파싱에러가 발생하는 경우
<p:th =~
~></p>
=> orderList.html의 여는 태그 닫는태그 쌍이 두 줄로 줄내림되어 있는 경우 한줄로 변경해주세요
ex) 모든 각 태그를 한줄로 <p></p>
2.application.yml에 open session in view 설정이 false로 되어 있는 경우.
두 가지 상황을 확인해주세요 ^^
확인해보시고 결과를 공유해주세요 :)
.
감사합니다.
2
안녕하세요. 저도 똑같이 orderList.html, 500번, ParseException 문제로 머리를 박다가 해결하게 되어서, 혹시 도움이 될까 올립니다. 저같은 경우 강사님이 올려주신 소스 자료 패키지 구조와 제 것이 달라서 생기는 문제였습니다...
[orderList.html]
<option th:each="status : ${T(jin.jpa.domain.OrderStatus).values()}"
본인 패키지에 누락이 된 폴더가 없는지 확인하시고 바꾸시면 될 것 같습니다. 도움이 됬으면 좋겠습니다.
1
안녕하세요. sy k님, 공식 서포터즈 OMG입니다.
프로젝트 코드를 확인해봐야 알 것 같습니다.
전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
구글 드라이브 업로드 방법 링크
주의: 업로드시 권한 문제 꼭 확인해주세요
추가로 다음 내용도 코멘트 부탁드립니다.
1. 실행 방법을 알려주세요.
2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.
감사합니다.
0
https://drive.google.com/drive/folders/1ReP0Ohc9F-I3G8bDOWndD87mYeiUV97l?usp=sharing
[오류 확인]
db(H2)에 연결 후 1. 회원 등록 -> 2. 상품 등록 * -> 3.상품 주문상품 주문 후 리다이렉트 화면에서 에러가 발생합니다.
0
안녕하세요, sy k 님! 공식 서포터즈 codesweaver 입니다.
타임리프 파싱 에러로 보이는데요,
orderList.html 상에 타임리프 문법 오류가 있는것 같습니다.
orderList.html 파일 내용을 올려주시거나 한번 다시 검토해 주시기 바랍니다.
감사합니다.
orderList.html 줄내림은 없는것 샅습니다.
두 번재로 open session in view 관련 코드가 yml 파일에 들어 있어야 하는걸까요? 현재 이런 코드는 없습니다
application.yml
orderList.html