• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
Tr 컴포넌트의 Parameters 속성에서 콤마(,)로 구분하기 때문에
해당 값에 , 가 들어가 있는 경우 말씀하신 대로 문제가 발생합니다.

프로젝트 중 같은 문제가 있어
Parameters의 값에서 콤마(,)를 다른 문자로 치환한 다음
실제 DB 처리 딴에서 다시 역으로 치환해서 해결했습니다.

물론, 치환할 문자와 같은 문자가 존재할수도 있기 때문에 완변하다고는 할 수 없지만,
치환할 문자를 잘 쓰지 않는 것으로 한다면 어느정도 막음이 될것 같습니다.

예를 들면, 다음과 같이 하시면 됩니다.

1. tr post 시

function fn_OnSave() {
    
    if ( confirm ("저장 하시겠습니까?") ) {
  
        var mstrAAA = document.form.AAA.value.replace(/,/gi, ______@_____");
        var mstrBBB = document.form.BBB.value.replace(/,/gi, "______@_____");  
      
        tbtr_sample.Parameters ="aaa=" + mstrAAA + ",bbb=" + mstrBBB ;
        //alert(tbtr_sample.Parameters);
        tbtr_sample.Post();
    } else {
        return;
    }
  
}

2. DB 처리시
이때는 역으로 치환한 문자를 다시 콤마(,) 로 바꾸어서 DB에 넣어주시면 됩니다.


도움이 되었으면 좋겠습니다.
저는 일단 이렇게 해결했습니다만, 더 나은 방법이 있으시면 공유 부탁드리겠습니다.

이상입니다.



>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : GFMS
>* 문의할 Component명 및 버전 : Tr 4.0
>* DataSet 버전 : 4.0
>* Tr 버전 : 4.0
>* 문의 유형(질문/요청/참조) : 질문 및 요청
>* 내용 :
> Tr 컴포넌트에서 Parameters 속성 사용시, 콤마(,)를 값으로 넣어주고 싶은데 안 되네요. 어떤 방법으로 해야 하나요?
> 콤마가 구분자로 사용되어서 그러는것 같은데 어찌 해야 합니까? 서버단에에 StringIndexOutOfBoundsException이 다음과 같은 에러 뜹니다.
>java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>        at java.lang.String.substring(String.java:1444)
>        at com.gauce.filter.GauceFilter.D(Unknown Source)
>        at com.gauce.filter.GauceFilter.B(Unknown Source)
>        at com.gauce.filter.GauceFilter.doFilter(Unknown Source)
>        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
>        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6724)
>        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
>        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
>        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
>        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
 
Tag List
XE Login