form 태그 질문드립니다.
- 작성자 :
- 장*익
- 작성일 :
- 2015-03-23 16:23:34
- 조회수 :
- 992
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
----------
testInsert.jsp
<script>
$(document),ready(function(){
function fnInsert() {
document.testVO.submit();
}
);
</script>
<form:form commandName="testVO" id="testVO" name="testVO"
action="${pageContext.request.contextPath}/test/testInsert.do"
method="post">
<form:input path="seqno"></form:input>
<input type="button" id="create" value="등록"
onclick="fnInsert(); return false;" />
</form:form>
----------
testController.java
@RequestMapping(value = "testInsertView")
public String testInsertView(@ModelAttribute("testVO") TestVO testVO,
BindingResult bindingResult, Model model) throws Exception {
System.out.println(testVO.getseqno());
return "egovframework/com/test/testInsert";
}
@RequestMapping(value = "testInsert")
public String testInsert(@ModelAttribute("testVO") TestVO testVO,
BindingResult bindingResult, Model model) throws Exception {
System.out.println(testVO.getseqno());
testService.insertTest(testVO);
// Exception 없이 진행시 등록성공메시지
model.addAttribute("resultMsg", "success.common.insert");
return "forward:egovframework/test/testMain.do";
}
----------
이런식으로 작성했는데 콘솔로그 찍어본 결과
DAO까지 다 넘어가면서 null값으로 정상 등록은 됩니다.
근데 jsp에서 입력받은 testVO.seqno 를 컨트롤러에서 전혀 못가져오네요.
<form:input> 태그 안의 path값을 seqno로 설정한 후 입력값을 주면 testVO.seqno 저장되서
컨트롤러에서 가져다 쓸 수 있는걸로 알고있는데..
컨트롤러에서 System.out.println(testVO.getseqno()); 이런식으로 콘솔로그 찍어봐도 다 null값으로 넘어오네요.
혼자 해보려다가 도저히 안되서 질문드립니다.
testInsert.jsp
<script>
$(document),ready(function(){
function fnInsert() {
document.testVO.submit();
}
);
</script>
<form:form commandName="testVO" id="testVO" name="testVO"
action="${pageContext.request.contextPath}/test/testInsert.do"
method="post">
<form:input path="seqno"></form:input>
<input type="button" id="create" value="등록"
onclick="fnInsert(); return false;" />
</form:form>
----------
testController.java
@RequestMapping(value = "testInsertView")
public String testInsertView(@ModelAttribute("testVO") TestVO testVO,
BindingResult bindingResult, Model model) throws Exception {
System.out.println(testVO.getseqno());
return "egovframework/com/test/testInsert";
}
@RequestMapping(value = "testInsert")
public String testInsert(@ModelAttribute("testVO") TestVO testVO,
BindingResult bindingResult, Model model) throws Exception {
System.out.println(testVO.getseqno());
testService.insertTest(testVO);
// Exception 없이 진행시 등록성공메시지
model.addAttribute("resultMsg", "success.common.insert");
return "forward:egovframework/test/testMain.do";
}
----------
이런식으로 작성했는데 콘솔로그 찍어본 결과
DAO까지 다 넘어가면서 null값으로 정상 등록은 됩니다.
근데 jsp에서 입력받은 testVO.seqno 를 컨트롤러에서 전혀 못가져오네요.
<form:input> 태그 안의 path값을 seqno로 설정한 후 입력값을 주면 testVO.seqno 저장되서
컨트롤러에서 가져다 쓸 수 있는걸로 알고있는데..
컨트롤러에서 System.out.println(testVO.getseqno()); 이런식으로 콘솔로그 찍어봐도 다 null값으로 넘어오네요.
혼자 해보려다가 도저히 안되서 질문드립니다.
A
장웅익님. 안녕하세요.
seqno를 받는 getter는 getSeqno()로 하셔야 하는데
getseqno()로 소문자를 사용해서 바인딩이 않되는듯 합니다.
java의 메서드는 대소문자를 구분하니 참고 하시기 바랍니다.
또한 jsp페이지의 경우 웹브라우저에서 소스보기를 해서
의도한 대로 html로 변환되었는지도 점검해보시면 될듯 합니다.
좋은하루 되십시요.
seqno를 받는 getter는 getSeqno()로 하셔야 하는데
getseqno()로 소문자를 사용해서 바인딩이 않되는듯 합니다.
java의 메서드는 대소문자를 구분하니 참고 하시기 바랍니다.
또한 jsp페이지의 경우 웹브라우저에서 소스보기를 해서
의도한 대로 html로 변환되었는지도 점검해보시면 될듯 합니다.
좋은하루 되십시요.