Programming267 MVVM패턴 구현 - RelayCommand 만들기 WPF에서 MVVM패턴을 적용하여 개발하려면, View와 ViewModel간에 데이터 통로가 필요하다. 먼저.. 사용자의 action을 처리해줄려면 Command로 엮어줘야한다. Command를 만드는 방법에 대해서 간단하게 기술한다. (물론 나중에 포스팅할 PRISM이라는 매우 편리한 라이브러리가 있다.) 커맨드를 만들기 위해서는 ICommand를 상속받는 클래스를 하나 정의해야한다. (사실 범용성을 위해서는 2개..) public class RelayCommand : ICommand { // 해당 커맨드를 실행할 조건을 담는 Predicate private readonly Predicate _canExecute; // 실제 수행될 메소드를 담는 Action private readonly Action .. 2022. 9. 7. 정규식 빈문자열 또는 숫자만 허용하기. 숫자 또는 빈 문자열이 허용되는 입력이 있다. 이 값의 validation을 위해 valid를 사용하려고 한다. 문자값은 ###,###,### 형식 또는 빈칸. 빈 문자열은 다음과 같이 pattern적용 가능하다. ^$ 그러면 이제 ###,###,###.. 의 정규식에 붙이면.. ^$|^[0-9]+(,[0-9]+)*$ 위와 같이. ㅋ 2022. 9. 7. js에서 spring:message 사용하기. (i18n) js에서 팝업 메시지를 띄우고싶다면.. 아래와 같이 하면 된다. function myFunc(objParam){ if( objParam.value == 내조건){ alert(''); } } 근데.. 만약 내가 저 메시지를 좀 가변적으로 정의하고싶다면? 그러니까.. 에러코드에 따라 메시지를 다르게 표시하고싶다면.. 뭐.. 위에처럼 저렇게.. 미리 메시지를 다른 변수에 할당한 이후에.. 그 다음에 저기서 출력해줘야하더라.. 아마 jsp와 js가 어디서 (서버 or 클라이언트) 언제 스크립트를 실행하느냐가 다르다. js의 경우 클라이언트에서 메시지를 찾아줘야하므로, 다시 읽지 못하여 발생하는듯? 물론 MVC모델이고, 그에 따라 messagebox에 띄울 메시지를 js가 아닌 Controller쪽에서 에러 메시.. 2022. 9. 5. JPA namingstrategy JPA에서 사용될 DTO는 컬럼명과 일치시키기 위해 대문자를 _로 변경해주도록 되어있다. @Entity public myClass{ private String myID; private String myId; private String userName; } 뭐... 위에처럼 클래스가 선언되었으면.. 맵핑은 myID -> my_i_d myId -> my_id userName -> user_name 이런식으로.. 만약 이걸 따르지 않겠다고 한다면 네이밍 전략을 바꿔줄수 있다. application.yml (or properties)에.. 우선 yml기준으로 작성 spring: jpa: hibernate: naming: physical-strategy: org.hibernate.boot.model.naming... 2022. 8. 30. JPA로 조회하기 JPARepository를 상속받아 사용하면 꽤 많은 쿼리를 생성해준다. (오오.. C#할땐 건건이 다 만들었는데..) 기본적으로 findAll이 있고. (다 찾는거) 만약 특정 값과 같은 결과만 찾는다면 아래와 같이 함수 선언만해주면 된다. //동일 조건 검색 List findAllByStatusEquals(String status); //특정 조건보다 큰값 검색 List findAllByStatusAfter(String after); //특정 조건보다 큰 값 검색 (ID로 내림차순 정렬) List findAllByStatusAfterOrderByIdDesc(String after); 이렇게.. 붙여두면 알아서 쿼리해준다.(오!!) 만약 내가 custom 쿼리를 만들고싶다면 아래처럼 @Query("SE.. 2022. 8. 30. JPA사용시, null value was assigned to a property exception JPA를 사용하니까 편하다. 알아서 맵핑도 해주고. 맵핑 시, 다음과 같은 규칙만 조심하면(?).. 만약 컬럼명이 CELL_NO라면.. 변수명은 cellNo. 물론 변수명을 다르게 지정하고 컬럼을 매핑하고싶다면 아래와 같이 하면 된다. @Column(name = "CELL_NO") private String cellphone; //or private String cellNo; 둘중 어떤걸 써도 다 되니까. 굿! 근데... nullable인 컬럼들이 있다. String은 null도 가능하지만, int형이랑 맵핑되는데 그 컬럼이 null이면? exception이 발생한다. 이거 뭐지?? 하고 검색해보았다. 핵심을 정리한 블로그가 있어서 링크 추가. https://beforb.tistory.com/10 [Er.. 2022. 8. 29. 이전 1 ··· 6 7 8 9 10 11 12 ··· 45 다음 728x90