Category Archives: FrameWork

java 프로퍼티 파일 읽기 예시 (java.util.Properties, org.springframework.util.ResourceUtils)

By | 11월 25, 2015

  Properties props = new Properties(); try{ props.load(new FileInputStream(ResourceUtils.getFile(“classpath:config/properties/test.properties”))) //classpath 기준으로 찾을 경우 //props.load(new FileInputStream(ResourceUtils.getFile(“file:C:/project/src/main/resources/config/properties/test.properties”))) //파일시스템 기준으로 찾을 경우 }catch(IOException e){ e.printStackTrace(); } String testValue = props.get(“testKey”);     * 이러한 류의 작업은 File I/O를 사용하기 때문에 시스템 기동부나 테스트코드에서 사용해야지, 자주 반복되는 구간에서 사용해서는 안된다.    

Spring 3 에서 컨트롤러 메서드(Controller Method) 진입시 어노테이션(Annotation)을 활용한 인터셉터(Interceptor) 만들기

By | 10월 29, 2014

  1. 어노테이션 인터페이스 작성 @Retention(RetentionPolicy.RUNTIME) @Target(value = {ElementType.TYPE, ElementType.METHOD}) //클래스 혹은 메서드에 어노테이션 적용 public @interface SslCheck { boolean isBlock() default false; //어노테이션에 인수를 입력받아 활용하고 싶을 경우 메서드 정의 }     2. HandlerInterceptorAdapter를 상속받은 인터셉터 클래스를 작성하면서 어노테이션을 활용 public class SslCheckInterceptor extends HandlerInterceptorAdapter { //주로 preHandle()에 로직을 작성할 것이다. @Override public… Read More »

Spring 3 에서 response.sendRedirect()를 사용하여 SSL(https) 요청을 생성할 때 https가 되지 않고 http로 되는 문제에 대한 해결 방안

By | 10월 29, 2014

만약 ViewResolver로서 UrlBasedViewResolver를 상속받은 ViewResolver를 사용하고 있다면, ViewResolver의 xml 정의에 아래와 같이 redirectHttp10Compatible 멤버를 false로 셋팅해 주면 된다.   <bean class=”org.springframework.web.servlet.view.UrlBasedViewResolver” id=”tilesViewResolver”> <property name=”viewClass” value=”org.springframework.web.servlet.view.tiles3.TilesView” /> <property name=”redirectHttp10Compatible” value=”false” /> </bean>                  

Spring 3.1 이 java 객체를 json으로 변환해 줄 때, 값이 없는 객체는 json에 빈문자("") 대신 "null" 문자열을 리턴해 주는데, 이를 빈문자("")로 리턴해 주도록 바꾸는 방법

By | 8월 5, 2014

– 출처 :  http://stackoverflow.com/questions/12934045/null-values-as-empty-strings-when-using-responsebody-annotation –   1. null serializer 를 작성한다. import java.io.IOException; import org.codehaus.jackson.JsonGenerator; import org.codehaus.jackson.JsonProcessingException; import org.codehaus.jackson.map.JsonSerializer; import org.codehaus.jackson.map.SerializerProvider; public class NullSerializer extends JsonSerializer<Object> { @Override public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeString(“”); } }     2. custom object mapper 를 작성한다.  (위에서 작성한 NullSerializer 사용) import… Read More »

MiPlatform에서 그리드(Grid)에 툴팁(tooltip)을 넣을 때 주의할 점

By | 6월 2, 2014

* 그리드의 특정 칼럼에 툴팁(tooltip)을 넣을 때에는 그리드의 OnMouseOver  이벤트핸들러를 사용한 후, row, col 필터링을 사용한다. * OnMouseOver 이벤트핸들러 안에 trace()로 로그를 찍으면 툴팁 기능이 작동하지 않는다 !!! (왜 그런지는 나도 몰라 ㅠㅠ…)     * 툴팁 코딩 예시 function grd_OnMouseOver(obj,nPosX,nPosY,nRow,nCell,nPivotIndex) { var text; if(nCell == 8){ text = ds01.GetColumn(nRow, ‘COL01’); }else{ text = ”;… Read More »

MiPlatform 그리드(Grid) 내에 공통코드 콤보박스(Combo box) 넣기

By | 4월 30, 2014

1. 공통코드 전역데이터셋을 필터링하여 새로운 데이터셋 사본을 생성한다.   //공통코드에서 ‘조치방법’ 코드그룹만을 가진 사본을 dsMeasrMthdCd으로 copy한다. //전체 표현식을 큰 따옴표로 감싸고, 필터링 문자열만 작은 따옴표로 감싸는 것에 주의해야 한다.! gds_comcode.Filter(“COM_GRP_CD == ‘MEASR_MTHD_CD'”); dsMeasrMthdCd.CopyF(gds_comcode); gds_comcode.UnFilter();     2. 콤보를 넣기 원하는 그리드의 해당 칼럼 속성을 다음과 같이 설정한다. Display: combo Edit: combo ComboCol: 공통코드의 코드 ComboText:… Read More »

Ibatis 쿼리 수행시 java.util.NoSuchElementException 이 발생하는 경우

By | 9월 11, 2013

Case 1.     가장 흔한 경우로, 바인딩변수 메타문자인 #을 열어놓고 닫지 않은 경우이다. (ex: #userId => #userId#)     내 경험상 이럴 때는 컴파일단계에서 오류가 발생했던 것 같다. Case 2.     이 경우는 좀 드문 경우였는데, 쿼리 내에서 괄호() 를 정상적으로 열고 닫지 않았을 경우에 발생했다.     내 경우에는 NVL()함수를 사용하는데 앞… Read More »

[펌글] iBatis에서 procedure 실행시 register output parameters failed 에러

By | 11월 19, 2012

– 출처 : http://yep1004.blog.me/100070785016 –  Never used it with stored procedure calls, but I would try defining the OUT parameter as a BigDecimal and see what happens. Oracle tends to return numerics as BigDecimals.즉, procedure에서 선언된 ‘NUMBER’ 타입의 변수는 oracle 내부적으로 BigDecimal 로 변환한다는 것!따라서 parameterMap에서 아래와 같이 선언해 주어야 한다.<parameter property=”outValue”  jdbcType=”DECIMAL” mode=”OUT” javaType=”long”/>이는 IN/OUT 전체에서 발생하므로,… Read More »

[MiPlatform] FirstRow의 의미

By | 3월 13, 2012

    FirstRow란 Server측에서 보내는 Data를 화면에서 Block 단위 ( 예 : 100 record ) 만큼 화면     에 미리 보여주고 나머지 Data는 계속 받아내리는 형태의 Data처리 방법을 의미합니다.     FirstRow를 처리하는 기본원리는, Service측에서 보내고자 하는 Data를 Block단위로 보내고     Client측에서는 Dataset의 Property를 조정합니다.