반응형

 

 

워드창이 왜 1개만 뜰까 계속 고민하고 PPCORE.DLL파일도 넣어보고 했지만

되지 않았다. 이때의 해결방법은 위와 같다.

 

휴~ 이제 편히 써보자.

 

참고: http://ask.nate.com/qna/view.html?n=9658372

반응형
반응형

2) 수동으로 플러그인 설치하는 방법
참고:

http://blog.kangwoo.kr/m/115
http://baeksupervisor.tistory.com/m/167
http://blog.bagesoft.com/m/954



http://jadclipse.sourceforge.net/wiki/index.php/Main_Page



1. 위 사이트에서 자신의 이클립스 버전에 맞는 jadclipse3.x 를 다운로드한다

2. jadclipse를 압축파일을 다운받아 압축을 푼 후 net.sf.jadclipse_3.x.x.jar 인 파일을 eclipse plugin 폴더에 복사하고 이클립스를 재실행 한다

3. 이클립스에서 Window-Preferences-Java-JadClipse 에 가서 설치한 jad 경로를 설정해준다 (Path to decompiler 에 다운로드 받은 jad.exe 의 위치를 입력)



** 4. 이클립스 Window > Preferences... > General > Editors > File Associations 에서 JadClipse Class File Viewer를 *.class
디폴트 파일로 설정해주어야 한다.
(정말 꼭 해줘야하는 작업, jadeclipse안된다고 계속 투덜대지 말자)

5. 필요하다면 한글이 깨지는 것을 방지하기 위해, JadClipse - Misc 에서 Convert Unicode strings into ANSI strings 를 체크해준다

 

추가)

참조사이트: http://yysvip.tistory.com/144

http://stackoverflow.com/questions/11421889/jad-eclipse-plugin-installation-issues

 

1. jad.exe 다운로드 사이트:

http://www.varaneckas.com/jad

 

2. .net.sf.jadclipse_x.x.x.jar(현재 3.3.0 버전이 최신)

http://sourceforge.net/projects/jadclipse/

 

 

 

 

반응형
반응형

참고 및 출처: http://static.springsource.org/spring/previews/validation.html

http://beyondj2ee.tumblr.com/post/14509015383/spring-3-0-validation-part1

http://www.egovframe.org/wiki/doku.php?id=egovframework:rte:ptl:validation

http://www.roseindia.net/tutorial/spring/spring3/web/spring-3-mvc-validation-example.html

http://gyumee.egloos.com/3056225

 

기타: http://forum.springsource.org/showthread.php?100397-The-prefix-mvc-for-element-mvc-annotation-driven-is-notbound

 

 

스프링에서 validation사용하기

 

스프링에서 validation을 사용하는 경우는 값을 저장하는 경우 그값의 필수체크, 길이체크, 패턴체크를 하기위해서 사용하는 것 같다. 물론 이같은 경우는 내가 사용하기 위해서 한 것이다.

 

1.

maven을 사용한다면 maven의 pom.xml을 이용하여 validation관련 jar파일을 dependency에 추가해준다.

 

  <dependency>
   <groupId>javax.validation</groupId>
   <artifactId>validation-api</artifactId>
   <version>1.0.0.GA</version>
  </dependency>

 

  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-validator</artifactId>
   <version>4.2.0.Final</version>
  </dependency>

 

2.

그리고WebContent/WEB-INF에 위치한 dispatcher-servlet.xml파일을 열어서

  <!-- Invokes Spring MVC @Controller methods -->
  <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
      <property name="webBindingInitializer">
          <!-- Configures Spring MVC DataBinder instances -->
          <bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
              <property name="validator" ref="validator" />
          </bean>
      </property>
  </bean>

 

  <!-- Creates the JSR-303 Validator -->
  <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />

 

를 추가해준다.

 

사실 다른 곳에서는 <mvc:annotation-driven /> 한줄을 추가해 주면 된다고 하지만 그럴경우

안되는 항목들이 있어 위와같이 하였다.

 

3. Controller단에서는

public String saveUserInfo(@Valid @ModelAttribute("personVo") PersonVO personVO
        ,BindingResult bindingResult, Model model
        ,SessionStatus status) {

~~~~~~~~~~~

}

 

@Valid를 써줘서 saveUserInfo 함수의 파라미터 personVO의 validation을 체크하겠다는 것을 기술한다. 

 

4.

그다음 기존 아래와 같은 vo에서

public class PersonVO {
    private String asgmtNm;
    private int age;
}

validation체크할 것에 대한 정보를 입력한다.

public class PersonVO {

    @NotNull
    @Max(64)
    private String asgmtNm;
   
    @Min(0)
    private int age;

}
여기서 asgmtNm은 널값이면 안되고, 최대 64바이트/ age인 경우 0보다 무조건 커야된다는 조건을 입력하였다.

사실 @NotNull(message="")를 사용하여 notnull인 경우 출력될 메시지를 직접 입력해줘도 되고,

WebContent/WEB-INF에 messages.properties파일을 만들어서 사용해도 된다.

 

messgaes.properties파일에서 메시지를 기술하는 방법은 아래와 같다.

 

NotEmpty.person.asgmtNm=

asgmtNm must not be blank.

 

(validation규칙.폼이름.폼에서항목 = 메시지)

 

5. 화면단에서는

<form:form commandName="personVO" name="person" id="person" method="post">

<form:input id="asgmtNm" path="asgmtNm" /><form:errors path="asgmtNm"/>

</form:form>

 

form:form을 사용해서 vo와 input항목을 매핑해 주도록 한다.

 

 

 

결과) 그렇게 해주고 나면 나중에 @NotNull, @Max(64)에 해당하는 항목이 나오면

form:errors에 그에해당하는 메시지가 출력된다.

 

 

 

반응형
반응형

 

출처: http://www.mungchung.com/xe/index.php?mid=protip&category=4482&document_srl=5306

 

이클립스에서 실행중에 Java compiler level does not match the version of the installed Java project facet 와 같은 메시지를 만났다면

 

해당 프로젝트를 선택하고 마우스 오른쪽을 누른다음에

project facets를 선택하여

거기에 있는 java 버전을 변경하여 준다.

반응형
반응형
문제:
Description Resource Path Location Type
The project was not built due to "Could not delete '/app/target/test-classes/test'.". Fix the problem, then try refreshing this project and building it since it may be inconsistent app  Unknown Java Problem

해결방법:
로컬에서 해당 폴더 위치('/app/target/test-classes/test')에 최하단 폴더(/test/....  test 폴더 하위 내용)를 삭제하고 다시 리프레쉬 한 후에 빌드한다.
(서버는 중지시키고 이클립스가 실행중이라면 이클립스를 닫고 다시 뛰운다)


발생 원인에 대한 참고자료: http://arthuredelstein.wordpress.com/2009/10/28/the-project-was-not-build-due-to-could-not-delete/
반응형
반응형

var dsName = ds_NewUserAccount.ID+"_Temp";
   Create("Dataset", dsName);

   var dsObj  = object(dsName);

   for (var iCol = 0; iCol < ds_NewUserAccount.colcount; iCol++) {
    dsObj.AddColumn(ds_NewUserAccount.GetColID(ds_NewUserAccount.GetColIDXbyorder(iCol)),
        ds_NewUserAccount.GetColType(ds_NewUserAccount.GetColID(ds_NewUserAccount.GetColIDXbyorder(iCol))));
   }

   var idx = dsObj.AddRow();
   dsObj.CopyRow(idx, ds_NewUserAccount, iCurrow);

반응형
반응형

1. 동적쿼리는 /rp인 경우에 가능하다. (/rv인 경우에 사용하는 방법은 안될 것 같다.. 정확치는 않음)

화면에서 보낼 파라미터를 아래와 같이 한다.
/rp [10][] /rv 사원명[박명수] 사원주소[경기도]

그럼 쿼리에서 사용할때는
WHERE 1=1
#10# AND 사원명 = ':(사원명)'
#01# AND 사원주소 =   ':(사원주소)'

여기서 ##이 동적쿼리를 의미하는 것인데,
1은 파라미터 값이 있는경우
0은 파라미터 값이 NULL(없는)경우
X는 파라미터 값에 상관없는 경우

로 ##안에 순차적으로 들어오는 /rp에 맞춰서 값이 있는경우는 1, 값이 없는 경우는 0으로
파라미터 갯수만큼 ##안에 채우면 동적 쿼리가 완성된다.

그러므로 #10#은 첫번째 파라미터값이 있고, 두번째 파라미터 값이 없는 경우를(첫번째 파라미터가 널인지만 체크)
#01#은 첫번째 파라미터 값은 없고, 두번째 파라미터 값이 있는경우(두번째 파라미터 값이 널인지만 체크)를 의미하는 것이다.




반응형
반응형



우선 레벨을 다 펼쳤다가 접는 작업이므로 redraw 해주는 작업은 필수이다.
안한다면 트리가 좌라락 움직이는 것이 보게 될것이다.

function fn_AfterSearchTreeView()
{
 tab_userInfo.tab_userAthrt.tv_userAthrt.Redraw = false;
 for (var iRow = 0; iRow < ds_userAthrt.GetRowCount(); iRow++){
  if (ds_userAthrt.GetColumn(iRow, "menuLvlSeq") == 1){
   tab_userInfo.tab_userAthrt.tv_userAthrt.ExpandItem(iRow, true);
  } else {
   tab_userInfo.tab_userAthrt.tv_userAthrt.ExpandItem(iRow, false);
  }
 }
 tab_userInfo.tab_userAthrt.tv_userAthrt.Redraw = true; 
}
반응형
반응형
출처: http://3030.tistory.com/48

-2085617663:Load Library에 실패하였습니다. 해당 dll이 존재하는지 확인하십시요.
[ExtCommonApi]

해결방법:
: 해당 키값에 설정된 ComponentPath 폴더에 ExtCommonApi.dll 파일을 복사한다. 
1) default ComponentPath 폴더에 ExtCommonApi.dll 파일을 복사
2) 해당프로젝트명의 키값에 설정된 ComponentPath에 ExtCommonApi.dll 파일을 복사
(해당 프로젝트명과 사이트 접속시 사용하는 key값이 동일한 경우는 해당 사이트에서 지정한 key값의 ComponentPath를 참조)


* PID 설치시 참조하는 default 컴포넌트 폴더(windows 7 기준)
C:\Users\사용자계정명\AppData\Local\TOBESOFT\MiPlatform320U\Component
* 레지스트리의 ComponentPath 위치 
HKEY_CURRENT_USER\Software\AppDataLow\SoftWare\TOBESOFT\Miplatform320U 
 

* PID에서 ExtApi에 등록할때는 ExtCommonApi로 이름을 등록해 야 합니다. 
ExtCommonApiU (X)
ExtCommonApi(O)
반응형
반응형

1. SQLMap.xml

<![CDATA [ SELECT * FROM TEST WHERE $[CON_01]]]>해주고

<where id=”CON_01”>AND MAIN_CD IN (?)</where>

 

2. l_iwhere 해당하는 조건 값이 있으면 수행하고 없으면 통과

Java: i_where.addwhereIn (“CON_01”, “PARAM”, l_DatasetUtils.getBindValue(input, 0, “MAIN_CD”).split(“,”))

Input 으로 들어온 MAIN_CD0번째를 ,로 짤라서 Param에 담는다.


반응형

+ Recent posts