GW_KB
456
2018-12-03 15:34:33 작성 2018-12-03 15:34:43 수정됨
4
529

href sms에 url을 실어 보내고 싶지만 GET방식에서 & 문자가 잘립니다..


A =  안드로이드 앱

W =  주요 기능 jsp

P = 모바일 문자메시지

url = www.test.com / text.jsp ? a=1 &b=2 &c=3


과정1.

A  ----->  url ----- > W

안드로이드에서 파라메터를 웹서버의 jsp에 전달합니다.


과정2. 

W -------> url --------->P


웹에서 버튼을 누르게되면 모바일의 문자메시지로 넘어갑니다.

여기서 넘어가는 부분은

<img src=" www.test.com//img/btn-sms.png"     

onclick="document.location.href='MMS:?&body=<%=url%>'"

style="max-width: 100%; height: auto;">

으로 구성하였습니다


문제발생>

body부분에 실어보낸 url 내용이.. www.test.com / text.jsp ? a=1 &b=2 &c=3

이지만 www.test.com / text.jsp ? a=1 까지만 나타납니다..


"&" 요놈이 문제인데 이틀간 삽질을 하여 &amp; %26  이 둘을 사용하면 된다는 글을 

여러개 찾았습니다...


그러나 해당글들은 제가 처리하는 알고리즘인 과정1 과 과정2에 해당하지 않은것 같습니다...

ㅠㅠ 도움 부탁드립니다




0
0
  • 답변 4

  • 커피랑
    114
    2018-12-03 16:36:31

    encodeURIComponent 를 한번 참고해보세요.

    관련 링크는

    https://www.w3schools.com/jsref/jsref_encodeuricomponent.asp

    여기 입니다.

    0
  • GW_KB
    456
    2018-12-06 11:16:13
    <URL 주소> 

    example.cafe24.com/msm/test.jsp?text=0 &key=1 &text2=테스트



    <Web>

    String web_url = "example.cafe24.com/msm/test.jsp?text=0 &key=1 &text2=테스트"

    <img src="http://example.cafe24.com/mms/img/btn-sms.png" 
    onclick="document.location.href='MMS:?&body=<%=web_url%>'" 
    style="max-width: 100%; height: auto;">

    웹에서 해당 이미지 버튼을 누를시
    MMS로 넘어가는데 넘어갈때 body 부분의 특수문자 &가 들어가질 않은 상태에서
    문자메시지 내용으로 셋팅됩니다..

    시도 방법 A - %26, &amp; 을 &대신 적용
    웹에서 request.getParameter("key"); 를 찾지못합니다.. 
    웹으로 넘어올때에는 &가 붙은 파라매타 명이 전달되어야 하는거같습니다

    시도 방법 B - UrlEncoding
    encodeURIComponent(string) 를 사용하여 인코딩
    결과는 시도A와 같다


    몇일째 자료를 검색해봐도 해결이 되질 않고있습니다.
    도움 한마디 부탁드리겠습니다 ㅠ

    0
  • 커피랑
    114
    2018-12-10 10:32:36

    오랜만에 들어와서 늦게 봤네요.

    뷰쪽에 자바 소스가 들어가는거 보니 scriptlet 방식을 사용하시는거 같은데 해당 String web_url 부분을 사용시 URLEncoder 를 사용하시면 되거 같습니다.

    URLEncoder.encode(web_url) 이렇게 사용한 다음 테스트 해보세요.


    1
  • GW_KB
    456
    2018-12-10 16:52:38

    결국엔 그냥 파라메타를 하나만 주고 split를 통해 변수로쪼개 사용하였습니다 .ㅎ.ㅎ 감사합니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.