워드창이 왜 1개만 뜰까 계속 고민하고 PPCORE.DLL파일도 넣어보고 했지만
되지 않았다. 이때의 해결방법은 위와 같다.
휴~ 이제 편히 써보자.
워드창이 왜 1개만 뜰까 계속 고민하고 PPCORE.DLL파일도 넣어보고 했지만
되지 않았다. 이때의 해결방법은 위와 같다.
휴~ 이제 편히 써보자.
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 다운로드 사이트:
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
스프링에서 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 버전을 변경하여 준다.
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#은 첫번째 파라미터 값은 없고, 두번째 파라미터 값이 있는경우(두번째 파라미터 값이 널인지만 체크)를 의미하는 것이다.
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_CD의 0번째를 ,로 짤라서 Param에 담는다.