Spring - Ajax contentType과 form list 보내기에 필요한 / .stringify()/.serialize() /.serializeObject

Coding/JAVA 2020. 2. 7. 09:19

Ajax에 FormData를 보내는 방법은 여러가지있다.

프런트에서 form을 Object해서  Spring에서 get방식이면 @RequestParam으로 Object받거나

해당 키값으로 String [Key Name] 으로 매개변수를 받을수있다

Post 방슥인 @RequestBody로 해서 같은 방식으로 받는다...

 

다만 Ajax ContextType이 기본 방식은

 Content-Type: application/x-www-form-urlencoded; charset=UTF-8

으로 Ajax를 이용할때 JSON을 이용하는데 문제가 생긴다.

 Content-Type: application/application/json; charset=UTF-8 

으로 변경 해주고 JSON을 이용하거나 Object을 이용할때는 딱히 지정할필요없다. 그럼 기본형식으로간다.

 

JSON으로 보낼때 이용해야되는방법은 - 

데이터들을 

var dataArr= new Array();
d

선언 해주고 

 

var dataObj= new Object();

하나 더 선언 후  dataObj 에 Object을 넣어준다.

dataObj.decode_flag=$("#decode_flag_"+i).val();

이런식으로 dataObj.[오브젝트Name] = 벨류 형식으로 넣어준다.

 

그후 Ajax으로 보낼때

data: formdata

이런식으로 json파일은 400이나 415나 타입오류 .. 오류를 뿝는다.

data: JSON.stringify(formdata)

이렇게 String 화 시켜서 보낸다...

.serialize() 를해서 보내는건 log를 찍어보면 key=value&key2=value&key3=value& get방식의 보낸다.

이렇게 받을라면 object나 String key 형식으로 받는다 .

 

위 dataArr 선언이나 object를 만들어서 보내지 않고 폼데이터를 한번에 Json화 시키는방법은

.serializeObject() 을 만들어서 보내는 방법이다 

이 방법은 .serializeArray() 를 이용한 펑션 만드는건데 Jquery 에서 공식적으로 지원하는 플러그인이도 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
jQuery.fn.serializeObject = function() { 
    var obj = null;
    try { 
        if(this[0].tagName && this[0].tagName.toUpperCase() == "FORM" ) { 
            var arr = this.serializeArray(); 
            if(arr) {
                obj = {};
                jQuery.each(arr, function() { 
                    obj[this.name= this.value; 
                }); 
            } 
        } 
    }catch(e) { 
        alert(e.message); 
    }finally {
 
    } 
    return obj; 
}
 

이 펑션을 하나 js파일로 만들어서 include해주거나 선언하고 사용하도록한다...

그럼 위에 방식 dataObjcet를 list만들엇던 형태로 Form을 JSON으로 만들어준다.

 

 

 

 

 

 

 

설정

트랙백

댓글

intellij(인텔리제이)에서 mybatis - xml 맵핑 못찾음

Coding 2020. 2. 5. 12:17
  1. xml등의 파일을 모두 main/resources로 옮긴 후 경로설정을 한다.

  2. pom.xml 파일에 다른 경로에서도 .xml등의 확장자를 인식하도록 설정한다.

1번 방법은 인텔리제이에서 main/ resources 으로 변경하여 mapper 위치 xml잡는걸 해당위치다 잡아주거나 

그래도 안된다면 

 

pom.xml  빌드 안에

 

<build>
       <resources>
           <resource>
               <directory>src/main/java</directory>
               <includes>
                   <include>**/*.xml</include>
               </includes>
           </resource>
           <resource>
               <directory>src/main/java</directory>
               <includes>
                   <include>**/*.properties</include>
               </includes>
           </resource>
       </resources>
</build>

추가로 잡아준다..

설정

트랙백

댓글

서드파티 db툴 이용시 오라클 테이블 조회 오류

Coding-sub_TIP 2020. 1. 31. 14:04

일단 오라클 sys계정으로 접속후 아래 쿼리 날립니다.

 

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;

ALTER DATABASE CHARACTER SET INTERNAL_USE UTF8;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;

--UPDATE SYS.PROPS$ SET VALUE$='UTF8' WHERE NAME='NLS_CHARACTERSET';
--UPDATE SYS.PROPS$ SET VALUE$='UTF8' WHERE NAME='NLS_NCHAR_CHARACTERSET';
--UPDATE SYS.PROPS$ SET VALUE$='KOREAN_KOREA.UTF8' WHERE NAME='NLS_LANGUAGE';

SHUTDOWN IMMEDIATE;
STARTUP;

COMMIT;

 

이후 재접속

'Coding-sub_TIP' 카테고리의 다른 글

오라클 sys/ sysdba접속 불가 오류  (0) 2020.01.31
Linux 시간대 변경 (utp kst)  (0) 2020.01.17

설정

트랙백

댓글

오라클 sys/ sysdba접속 불가 오류

Coding-sub_TIP 2020. 1. 31. 13:59

sqlplus "/as sysdba" 

ERROR:

ORA-01031 : insufficient privileges

이런식으로 접속 불가가 뜬다면 ...

 

sqlplus /nolog 후

 

connect sys/패스워드 as sysdba 

진행 하면 sysdba로 접속 가능 

 

 

설정

트랙백

댓글

Oracle DB 프로시저 안 merge

Coding/DB 2020. 1. 20. 10:47

create or replace procedure testprocedure
is
    begin
    merge into p_total total
    using pt_01 p01
        on (total.판매번호 = p01.판매번호)
    when MATCHED then
        update set total.제품번호 = p01.제품번호
    when not MATCHED then
        insert values(p01.판매번호,p01.제품번호,p01.수량,p01.금액);
 end testprocedure;

 

문법의 형태-

is 앞에 변수 받도록 기본 프로시저 문법을 참고 -  in out inout 중...

해당 변수를 받아서 구성하면 될듯하다 ..

 

'Coding > DB' 카테고리의 다른 글

오라클 db pl/sql 관련 내용 참고  (0) 2020.01.19

설정

트랙백

댓글

오라클 db pl/sql 관련 내용 참고

Coding/DB 2020. 1. 19. 22:48

https://thebook.io/006696/

 

더북(TheBook): 오라클 SQL과 PL/SQL을 다루는 기술

 

thebook.io

 

전자 책도 있고 종이책도 있지만...

 

홈피 링크로 원하는 부분을 쉽게 찾아볼수있다.

 

오라클 db 쿼리문에 대해서 쉽게 찾아볼수있는 곳이다.

'Coding > DB' 카테고리의 다른 글

Oracle DB 프로시저 안 merge  (0) 2020.01.20

설정

트랙백

댓글

Synology 패키지 강제 삭제 방법

Synology 2020. 1. 17. 23:24

일단 제어판에서 - SSH 활성화 밑 포트 번호 원하는 포트로 변경해주세요.

 

ssh 접속 프로그램은 많은데

맥이라면 터미널로 접속하시고 윈도우라면 putty 다운받으셔서 접속하시면됩니다.

 

putty기준으로 설명하면

ip 와 뒤 포트 번호 입력 후 접속

아이디와 암호는 시놀로지 관리자 id로 접속하시고

sudo -i 입력 관리자 암호 넣으시고

 

ex) synopkg uninstall SynoFinder

synopkg uninstall [패키지명] 

 

입력하면 강제로 삭제됩니다 예로든 SynoFinder는 시놀로지 유니버설 서치 서비스인데 패키지센터에서 못지워서

이런식으로 지우고 재설치하였습니다.

 

만약 패키지 명을 모르시겠다고

cd /var/package 입력

ls  입력

패키지 리스트들이 나옵니다..

폴더 명이 나오는데 시놀로지에 설치되어있는 패키지이름과 비슷하게 있는것을 지우시면됩니다..

 

번외-- 그외방법...강제 제거

그외 방법은 그 폴더를 강제로 지워지는 방법도있습니다

cd /var/package 입력

rm -rf [지울패키지폴더명] 입력

하시면.. 시놀로지 가보면 지워져있는걸 확인할수 있습니다.

 

설정

트랙백

댓글

Linux 시간대 변경 (utp kst)

Coding-sub_TIP 2020. 1. 17. 12:30

현재 testdb를 docker로 돌리고있는데...

 

테스트하고 보니 시간대가 utp 라서 수정을 들어갔습니다..

 

docker 접속하여 오라클 컨테이너 들어가서... 

 

명령어# rdate -s time.bora.net 와 

시간변경해주는 패키지 tzselect 로 수정을 했더니 전혀 변경이 안되더군요... sudo를 붙여도...

 

sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime 로 해결했습니다..

 

정상적이라면 아래 명령어로도 되어야되는데

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime 

 

docker라서 그런지 분명 root계정으로 들어갔는데 sudo를 빼고 하면 수정은 되었다고 하는데...

 

변경이 안되는 상황이었는데 ;; 저렇게 됫네요...

 

도움들 되시길..

설정

트랙백

댓글

갤럭시s3 하드웨어키 바꾸기(or 뒤로가기 변경)

갤럭시s3 하드웨어키 뒤로가기랑 설정 변경법~

 

개인적으로 옵티머스나.. 구글 표준인 뒤로가기가 왼쪽에 있는 것을 더 좋아합니다..

구글표준이라고 하지만 저한테 왼쪽에 뒤로가기 오른쪽에 설정.. 가운데 홈

이게 딱 맞더군요

뒤로가기-홈-설정

이형태로 바꾸어 보겠습니다..

 

필요 준비줄 -

1.일단 루팅하셔야됩니다.

2.루트 익스플로러 같은 시스템 파일 편집 기능을 가진 앱이 필요

 

 

방법

(갤럭시s3 기준으로 설명해드립니다.)

(다른 안드로이드 기기에도 적용가능합니다. 대신 조금씩 파일명같은게 다른데...

거진다 일맥상통합니다...)

 

 

1. 루트익스플로러 앱 실행

2. 루트/system/usr/keylayout/ 으로 이동

3. sec_touchkey.kl 파일 찾기

4. 루트익스플로러 편집 기능활성화 하기 위해 위에 r/w 를 눌러서 r/o로 변경

5. sec_touchkey.kl 를 꾹눌러서 에디터 편집기 열기

6. back 과 menu 를 교체해주면 됩니다..

 

간단합니다 ^^

그리고 해당 2번파일이 없다면

Generic.kl 파일을 열어 key 139, 158 번을 바꿔 주시면 됩니다. ^^

설정

트랙백

댓글