java.lang.IllegalStateException:Optional int parameter 'reviewno' is present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type.
문제 상황 및 해결
내가 하고 싶었던 것은 후기글에서 수정을 누르면 후기글폼이 나와야했는데 저렇게 오류가 떴다.
알고보니 후기글에서 수정을 누를때 매개변수 값을 안줘서 오류가 났던 것이다.
매퍼(기존에 만들어놨던 select 쿼리문을 사용했다.)
<select id="reviewSelectOne" resultType="com.project.app.vo.ReviewVO">
select reviewno, userid, title, views, content, date_format(createdate, '%y-%m-%d %h:%i%p') createdate
from reviewboard where reviewno=#{param1}
</select>
컨트롤러
@GetMapping(value="/review/reviewEdit")
@ResponseBody
public ModelAndView reviewEdit(int reviewno, ModelAndView mav) {
mav.addObject("rVO", service.reviewSelectOne(reviewno));
mav.setViewName("review/reviewEdit");
return mav;
}
이 코드를
<a href="/app/review/reviewEdit>수정</a>
이 코드로 바꿨더니 잘 실행되었다.
<a href="/app/review/reviewEdit?reviewno=${vo.reviewno}">수정</a>