티스토리 뷰
<td>
<h5>
${pd.handling }
</h5>
</td>
이렇게 출력됨
문자열로 길게 저장되어서 그런거였다. 잘라서 출력하려면 split을 사용해야한다는 생각이 들었다.
그래서 split 사용해가지고 아래와 같이 코드 변경함
@GetMapping("/product")
public String requestProductById(@RequestParam("id") String productId, Model model)
{
Product pdById = productService.readProductById(productId);
model.addAttribute("pd", pdById); // product.jsp 에서 pd. 해서 꺼내쓰면됨
String[] handlingArray = pdById.getHandling().split("-");
model.addAttribute("handling",handlingArray);
return "/Product/product";
}
split으로 잘라서 출력했더니 이렇게 됨
첫번째 값을 공백으로 출력함.
이렇게 출력되는 이유는 내가 애초에 문자열을 저장할 때 '-'으로 시작하도록 입력해주었는데
이렇게 시작하는 경우 빈 문자열이 배열의 첫번 째 요소로 포함되기 때문이다.
위처럼 문제점을 인식하고 해결하기 위해 공백을 없애주거나 첫번째 값을 빼고 저장하도록 코드를 변경했다.
split() 메서드를 사용해 handling 문자열을 '-' 기준으로 분할하고 결과를 handlingParts 배열에 저장한다. 그 다음 반복문을 사용해 배열의 첫번째 요소를 제외한 나머지를 출력했다. 그리고 trim() 메서드를 호출해 문자열 앞 뒤의 공백을 제거했다.
@GetMapping("/product")
public String requestProductById(@RequestParam("id") String productId, Model model)
{
Product pdById = productService.readProductById(productId);
model.addAttribute("pd", pdById); // product.jsp 에서 pd. 해서 꺼내쓰면됨
String handling = pdById.getHandling();
String[] handlingParts = handling.split("-");
List<String> handlingList = new ArrayList<>();
// 첫 번째 요소를 제외한 나머지를 리스트에 추가
for (int i = 1; i < handlingParts.length; i++) {
handlingList.add(handlingParts[i].trim());
}
// 모델에 리스트를 담아서 뷰로 전달
model.addAttribute("handling", handlingList);
return "/Product/product";
}
원하는 결과대로 출력된다.
'코딩 > 오류 노트' 카테고리의 다른 글
코딩테스트 입문 > 분수의 덧셈 (0) | 2024.05.25 |
---|---|
마지막 두 원소 오류 주의할 점 (0) | 2024.05.22 |
[23주 5일차] postmapping db 저장안됨 (1) | 2024.03.15 |
[AJAX] 라디오버튼 값에 따른 출력값 변경 (0) | 2024.03.05 |
[22주 1일차] 카카오맵 API 로딩오류 (0) | 2024.03.04 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday