기본적인 것도 맨날 검색해서 찾는 인생...언제 청산하지?
1. <form> post 방식
- list를 구성하는 파라미터의 name을 맞춰준다.
[HTML]
<form id="fileForm" action="/cmm/main/regFile.do" method="post">
<div>
<ul>
<li><input type="text" name="arrayList" value="배열 포스트 테스트list1"/></li>
<li><input type="text" name="arrayList" value="배열 포스트 테스트list2"/></li>
</ul>
<button type="button" onclick="fn_submit();">전송</button>
</div>
</form>
--> 결과 vo.getArrayList()을 통해 값을 받아 올 수 있다.
[VO]
private List<String> arrayList = new ArrayList<String>();
public List<String> getArrayList() {
return arrayList;
}
public void setArrayList(List<String> arrayList) {
this.arrayList = arrayList;
}
[Controller]
@RequestMapping(value = "/cmm/main/regFile.do")
public String getMgtMainPage(ContentTestVO paramVO , RedirectAttributes re) throws Exception{
List<String> paramList = paramVO.getArrayList();
paramVO.setArrayList(paramList); //값 확인
int id = idgenService.getNextIntegerId();
paramVO.setId(id);
re.addAttribute("id", id);
bbsMngService.insertFile(paramVO);
return "redirect:/cmm/main/fileDetail.do";
}
List<String> 형식으로 vo.getArrayList()을 통해 값을 받아 올 수 있다.
2. ajax post 방식
[JS]
$('#submitBtn').on('click',function(){ //전송버튼 클릭이벤트 실행
var arrayList = 'test1,test2,test3'; // 테스트 데이터 (리스트 형태)
$.ajax({
type: "POST",
url: "/cmm/main/ajaxReg.do",
data: {
"arrayList" : arrayList
},
dataType: 'json',
cache: false,
error : function(error) {
console.log(error);
alert('오류가 발생했습니다. 다시 시도해 주세요.');
},
success : function(data) {
if(data){
console.log(data);
}
},
complete : function() {
}
});
});
[VO]
private List<String> arrayList = new ArrayList<String>();
public List<String> getArrayList() {
return arrayList;
}
public void setArrayList(List<String> arrayList) {
this.arrayList = arrayList;
}
[Controller]
@RequestMapping(value = "/cmm/main/ajaxReg.do")
public ModelAndView getAjaxReg(ContentTestVO paramVO) throws Exception{
/* VO로 받음 */
//리스트 문자열형식으로 파라미터 받음
List<String> paramList = paramVO.getArrayList();
System.out.println(paramList); //값 확인
ModelAndView mv = new ModelAndView("jsonView"); //jsonView로 결과 리턴
mv.addObject("result",paramVO);
//맵핑한 파라미터 다시 리턴
return mv;
}
++ 추가 ++
jsonview 세팅
//pom.xml에 추가
<!-- JSON 라이브러리 -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.3</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
//*Servlet.xml에 추가
<!-- jsonView -->
<bean id="beanNameResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0" />
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
<property name="contentType" value="application/json;charset=UTF-8"></property>
</bean>
'공부하는 > spring' 카테고리의 다른 글
Spring sql 로그 출력하기 (0) | 2021.02.04 |
---|---|
Spring+SockJS+STOMP 웹 소켓 구현/채팅 만들기 (0) | 2021.02.02 |
댓글