안녕하세요 . 13분쯤 mv.getModel().put("member",member) ; vs mv.addObject("member", member); 같다고 하셨는데 데이터 담아주는건 같고 mv.addObject("member", member); 같은 경우에는 부가적으로 jsp에서 데이터를 가져다 쓸수 있도록 addAttribute 까지 해준다 라고 생각하면 될까요 그렇다면 추가적으로 request.setAtttibute("member",member) 와 mv.addObject("member", member); 이건 같은건가요 ? (차이점이 있다면 설명 부탁드립니다 . 감사합니다)
Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration) 스프링 빌드 중에 이러한 오류가 발생하면서 @RequestMapping ( "/request-param-v1" ) 해당 경로로 들어가니 whitelable 페이지가 뜹니다 어떤 오류일까요 전에 다른 수강생분이 올렸던 글을 보면 application.yaml 파일을 수정하라고 말씀해주셨는데 저는 그 파일을 찾을 수 가 없네요 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 user 엔티티 일부 @OneToMany(mappedBy = "user" , cascade = CascadeType.ALL) private List<UserCountry> country = new ArrayList<>() ; @OneToMany(mappedBy = "user" , cascade = CascadeType.ALL) private List<UserLanguage> language= new ArrayList<>() ; @OneToMany(mappedBy = "user" , cascade = CascadeType.ALL) private List<UserHopeLanguage> hopeLanguage= new ArrayList<>() ; 프로젝트 진행중인데 궁금한점이 있어 여쭤보려고합니다. 엔티티 상에서는 테이블 구성은 일대다 다대일 관계로 위와 같이 되어있고 user들은 모국어인 userCountry, 배우고싶은 언어인 userHopeLanguage, 할수있는언어인userLanguage를 여러개 가질 수있습니다. 전체 유저 조회중 특정 나라나 언어를 가지고 있는 유저들만 검색하기위해 동적쿼리문을 작성하려고 하는데 예를 들어 유저가 가지고있는 userLanguage 중 language이름이 'kor '를 포함하고있는 유저만 검색 한다고 했을 때 쿼리문을 어떻게 작성해야할까요?
안녕하세요. 우선 정말 좋은 강의 감사드립니다^^ 다름이 아니라 완강 후 새로 build하여 jar 파일을 만들었는데요. h2 서버를 항상 켜놔야돼서 그런지 그냥 jar 파일 실행하면 서버가 실행이 안되고, 항상 함께 h2.bat을 실행해야 구동됩니다ㅠㅠ 혹시 h2 서버 구동 안하고 jar 파일 실행만으로 실행 가능한 방법이 있을까요?
java 안에 @GetMapping("hello") 이라는 컨트롤러를 넣은 다음, template 안에 hello.html이라는 파일을 만들고 static 안에도 똑같은 hello.html 이라는 파일을 만들었습니다. 그 다음 localhost:8080/hello.html 을 검색했을 때 수업 내용대로라면 template안의 hello.html 파일이 출력돼야되는데 static 의 파일이 열렸습니다. 그래서 localhost:8080/hello 라고 검색해보니 이 때 templtate의 hello 파일이 열리더라고요. 따라서 localhost:8080/hello.html 이라고 웹브라우저에 치면 정적 파일이 열리고 localhost:8080/hello 이라 치면 template 파일이 열리는 것으로 봐서 웹 브라우저에 어떻게 검색하냐에 따라 파일이 열려지는게 달라지는 것 같습니다. 제가 수업에서 이해한건 뒤에 localhost:8080/hello.html 이라고 검색했을 때, 컨트롤러 먼저 찾고, 정적 파일을 찾는 우선순위 순으로 동작한다는 것이라서 이론대로라면 template 안에 hello.html이 먼저 열려야될 것 같은데 아니라 제가 이해한 것과 상충되어 이렇게 질문드립니다. 양질의 강의 감사합니다. 정말 잘 듣고 있어요
안녕하세요 영한님! 강의 내용 중 궁금한 점이 있어 질문 드립니다. Team refTeam = em.getReference(Team.class, 1L); refTeam.getName(); 을 하게되면 Proxy가 비어있으므로 1. 영속성 컨텍스트에 초기화 요청을 보내고, 2. 영속성 컨텍스트가 DB를 조회해 3. 실제 엔티티 객체를 생성 은 이해가 되었습니다. 그럼 여기서 영속성 컨텍스트가 실제 엔티티 객체를 생성하고 Proxy의 target에 연결을 해줄 뿐이지, 1차 캐시에 실제 엔티티가 저장되는 것은 아닌 건가요? 1차 캐시에는 'Proxy 객체만' 있고 Proxy의 target을 통해 실제 엔티티를 접근할 수 있는 건지 궁금하여 질문 드립니다! 감사합니다.
import java.util.ArrayList; import java.util.Collections; import java.util.PriorityQueue; import java.util.Scanner; class Lecture implements Comparable<Lecture>{ public int pay; public int day; Lecture(int pay, int day){ this.pay = pay; this.day = day; } @Override public int compareTo(Lecture ob) { return ob.day - this.day; } } public int solution(ArrayList<Lecture> arr){ int answer=0; PriorityQueue<Integer> pQ = new PriorityQueue<>(Collections.reverseOrder()); Collections.sort(arr); int j=0; //이 부분이 밖에서 선언하면 값(150) 이 나오고 //for 문안에서 int j=0; 선언하면 ex) for(int j=0; j<n; j++) {} //값이 180으로 나오는데 왜 틀린지 잘 모르겠습니다. for(int i=max; i>=1; i--){ for(; j<n; j++){ if(arr.get(j).day<i) break; pQ.offer(arr.get(j).pay); } if(!pQ.isEmpty()) answer+=pQ.poll(); } return answer; } public static void main(String[] args) { Main t = new Main(); Scanner kb = new Scanner(System.in); n = kb.nextInt(); ArrayList<Lecture> arr = new ArrayList<>(); for(int i=0; i<n; i++) { int pay = kb.nextInt(); int day = kb.nextInt(); arr.add(new Lecture(pay, day)); if(day>max) max = day; } //for(Lecture lt : arr) System.out.println(lt.pay+" "+lt.day); System.out.println(t.solution(arr)); } }
<input th:classappend="${errors?.containsKey('errorA')}?'field-error': _ " th:classappend="${errors?.containsKey('errorB')}?'field-error': _ " > 이런 식으로 사용해서 errorA가 있어도 errorB가 있어도 or 조건으로 input 테그 테두리를 붉게 해주고 싶은데요. th:classappend가 2개 들어가니까 오류가 뜨더라고요. 이렇게 오류가 2개 이상이 될 때 적용할 수 있는 방법이 있나요?
script.ajax에서 북마크부분이 잘못된듯 합니다. const bookmark = document . querySelector ( '.bookmark' ). innerHTML = btn_bookmark_text ; 이부분이, .bookmark중에 맨위에꺼만 잡기 때문에, 어떤 포스트를 클릭해서 저장하기를 눌러도 첫번째 포스트가 바뀝니다. 데이터베이스 상엔 영향을 미치지 않지만, 프런트에서 저장됨/저장하기가 첫번째꺼에만 영향을 미쳐요.