2019년 8월 27일 화요일

java에서 split 함수 사용예문

javascript --> java (구분자로 분리된 데이터를 받기)


/**
 * js에서 데이터를 구분자료 분리하여 문자열로 담음
 */
var tidTableData = '';
$('#accordion .panel.panel-default').each(function(idx) { //check 된값 배열에 담기
    if (idx > 0) tidTableData += '[@@@]';
    tidTableData += $(this).find('input[name="tidSeq"]').val();
    tidTableData += '[@,@]' + $(this).find('input[name="tidCoordinatex"]').val();
    tidTableData += '[@,@]' + $(this).find('input[name="tidCoordinatey"]').val();
    tidTableData += '[@,@]' + $(this).find('input[name="tidAltitude"]').val();
    tidTableData += '[@,@]' + $(this).find('input[name="tidXy"]').val();
    tidTableData += '[@,@]' + $(this).find('input[name="tidTitle"]').val();
    tidTableData += '[@,@]' + $(this).find('input[name="tidDescription"]').val();
    tidTableData += '[@,@]' + $(this).find('input[name="pst006"]').val();
    tidTableData += '[@,@]' + $(this).find('input[name="tidImage"]').val();
    tidTableData += '[@,@]' + $(this).find('input[name="tidVideo"]').val();
    tidTableData += '[@,@]' + $('#uploadAudioForm input[name="atchFileId"]').val();
    tidTableData += '[@,@]' + $(this).find('input[name="fileSn"]').val();
});

/**
 * js로부터 문자열로 만들어진 데이터를 넘겨받아 java 객체에 담음
 */
//관심지점 정보 문자열을 객체화
List resultDetailList = new ArrayList();
String[] tidTableDatas = assetOrDirectVO.getTidTableData().split(Pattern.quote("[@@@]")); //빈 데이터는 베열에 제외
if (tidTableDatas != null && tidTableDatas.length > 0) {
    LOGGER.debug(">>>tidTableDatas.length:"+tidTableDatas.length);
    LOGGER.debug(">>>tidTableDatas:"+tidTableDatas);
    
    InterestDetailVO interestDetailVO = null;
    for (int i = 0; i < tidTableDatas.length; i++) {
        LOGGER.debug(">>>tidTableDatas["+i+"]:"+tidTableDatas[i]);
        String[] cols = tidTableDatas[i].split(Pattern.quote("[@,@]"),-1); //빈 데이터도 배열에 포함할때 -1
        LOGGER.debug(">>>cols.length:"+cols.length);
        if (cols.length != 12) continue;
        interestDetailVO = new InterestDetailVO();
        interestDetailVO.setTidSeq(cols[0]);
        interestDetailVO.setTidCoordinatex(cols[1]);
        interestDetailVO.setTidCoordinatey(cols[2]);
        interestDetailVO.setTidAltitude(cols[3]);
        interestDetailVO.setTidXy(cols[4]);
        interestDetailVO.setTidTitle(cols[5]);
        interestDetailVO.setTidDescription(cols[6]);
        interestDetailVO.setPst006(cols[7]);
        interestDetailVO.setTidImage(cols[8]);
        interestDetailVO.setTidVideo(cols[9]);
        interestDetailVO.setAtchFileId(cols[10]);
        interestDetailVO.setFileSn(cols[11]);
        resultDetailList.add(interestDetailVO);
    }
}