페이지

레이블이 devon인 게시물을 표시합니다. 모든 게시물 표시
레이블이 devon인 게시물을 표시합니다. 모든 게시물 표시

2014년 3월 19일 수요일

[devon]dynamic query 비교값

조건문비교값
GE>=
GT>
LE⇐
LT<
EQ==
NE!=
EMPTY값이 없을 경우
NULLNULL인 경우
NOTNULLNot null인 경우
NOTEMPTY값이 있을 경우
NONEnull이거나 빈 스트링인 경우
NOTNONEnull이 아니고 빈 스트링이 아닌 경우


항목역할 및 기능
statement name사용할 SQL문의 이름
append / replace조건에 따라 query문에 append / replace
whereWhere를 붙일지 여부. True인 경우 where를 붙임(생략할 경우 false)
condition체크할 조건. EQ:”=” GE:”>=” LE:”?” GT:”>” LT:”<” EMPTY:”” NE:”!=” NULL:null NOTEMPTY:”값이 존재” 위의 조건으로 좌측에 정의된 값과 dn측에 정의된 값을 비교하여 맞을 경우 정의된 append, replace를 시행한다. 단 EMPTY와 NOTEMPTY, NULL인 경우는 좌측 값만 기술한다. 비교해야 할 값이 두 개 이상인 경우 and(&), or연산이 가능하다.
idappend나 replace할 부분의 id

예제)
<statement name="retrieveBookMasterList"> 
  <![CDATA[ 
  SELECT {#2} a.bookid
       , a.booknm, {/#2} a.author
       , a.description 
    FROM bookmaster a
       , codemng    b 
   WHERE age = ?
     AND address = ? 
     AND a.bookid = b.id 
    {#1} 
  ]]> 
  <append where="true" condition="(${name}.NOTEMPTY&amp;${age}.GE.5)||${name}.EQ.park" id="#1"> 
    AND age > 5 
  </append> 
  <replace condition="${age}.NOTEMPTY" id="#2"> 
    a.bookid 
  </replace> 
</statement>

devon 에서 ajax전송시 한글깨 때

데브온에서 ajax로 데이터 전송할때 기본적으로 utf-8로 세팅되어 있는거 같습니다

그래서 한글 보낼때 깨지는 문제가 있는데 이럴땐 2가지 방식이 있고

1. web.xml에서 ajax파일은 utf-8로 보내기

2. xsync.js에서 addquery()부분에서 값 감싸는 부분을 escape(encodeURIComponent(value)) 이런식으로 감싸서 보낸 후
   받는쪽에서 new String(URLDecoder.decode(cpName,"UTF-8")) 이렇게 받으면 됩니다





web.xml sample

 
<filter>
    <filter-name>CharsetEncodingFilter-utf-8</filter-name>
    <filter-class>util.CharsetEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
 
 
 
<filter-mapping>
        <filter-name>CharsetEncodingFilter-utf-8</filter-name>
        <url-pattern>*.devx</url-pattern>
</filter-mapping>

image

image