본문 바로가기

미역

<form:form>에서 Equal symbol expected Equal symbol expected 에러는 기본적으로 "의 짝이 맞지 않으면 나는 오류이다. 그런데 를 사용하는 화면에서는 다른 문제일 수 있다. 또는 와 같은 태그가 hidden으로 감추어져 있고 전달하려는 데이터가 의 속성 commandName의 VO에 없는 멤버필드라면 Equal symbol expected 에러를 발생시킨다. 아주 거지같다. 따옴표만 2시간을 찾았는데, 왜 쓰는지 모르겠는 때문에 오류로그가 거지같은 뜬 거였다. 더보기
@RequestParam / @RequestBody / @ModelAttribute 1. @RequestParam - 1개의 HTTP 요청 파라미터를 받는다. - [required = true]가 기본값이라서 꼭 필요한 게 아니면 [required = false]로 설정하는 게 좋다. 나중에 에러나지 않도록. - @RequestParam Map ~~~ 를 쓰면 한 번에 여러 파라미터를 받아올 수 있지만 어떤 파라미터를 받았는지 명확하게 알 수가 없다는 단점이 있다. 2. @RequestBody - Json(application/json) 형태의 HTTP Body를 객체로 변환시켜준다. - 때문에 HTTP Body가 없는 Get메소드에서 사용한다면 에러가 발생한다. - Spring에서 관리하는 MessageConverter가 Java 객체로 변환시켜주는 거여서 @ModelAttribute.. 더보기
<resultMap>, <association>, <collection> 대충 말하자면, 테이블을 병합할 때마다 거기에 맞는 DTO를 새로 만든다면 무척이나 번거로울 테고 이 때 사용하면 유용한 게 이 된다. 제대로 된 이해를 원한다면 다음 링크로 https://devlog-wjdrbs96.tistory.com/418 https://medium.com/webeveloper/mybatis-resultmap%EC%9D%B4%EB%9E%80-854a94df1f78 아래 2개의 클래스가 있고(각 클래스와 똑같이 매치되는 DB도 있다고 생각하자) 모든 멤버필드를 조회하고자 하면 다음처럼 하면 된다. public class User{ private int userNo; private String userNm; private String phone; private Membership me.. 더보기
[파이썬] 소수 구하기 import math ## Parameter # lst : 0~N까지의 자연수를 담은 리스트 def problem(lst): N = len(lst)-1 for i in range(2, math.floor(math.sqrt(N))+1): prime = True for j in range(2, math.floor(math.sqrt(i))+1): if i!=j and i%j==0: prime=False break if prime: for j in range(2, N//i+1): lst[i*j] = 0 return lst '에라토스테네스의 체'를 사용한 알고리즘 더보기
엑셀 시트 읽어오기 //우선 엑셀파일 경로를 읽어온다 URL resource = yourJavaFile.class.getResource("/yourFolder/excels/file.xlsx"); String filePath = resource.getFile(); //파일 읽기 FileInputStream file = new FileInputStream(filePath); XSSFWorkbook workbook = new XSSFWorkbook(file); List sheetLst = new ArrayList(); List columnNmLst = new ArrayList(); int rowindex = 0; int columnindex = 0; //컬럼명이 첫번째 줄에 있을 거라고 가정 //시트 가져오기, 첫번째 시트만 사.. 더보기
Map.Entry Map의 static nested class로 Map을 다룰 때 유용하다. (key, value)로 하나의 쌍을 이루는 콜렉션이다. 1. Map객체에서 Entry 가져오기. Map map = new HashMap(); map.put("올해 나이", 28); map.put("현재 재산", 30000); for(Map.Entry e : map.entrySet()){ System.out.printf(e.getKey()+": "+e.getValue()); } /* 출력 올해 나이: 28 현재 재산: 30000 */ 그리고 .entrySet()으로 (key, value)의 mappings이 반환됐기 때문에 Entry를 변경하면 Map도 변경된다. for(Map.Entry e : map.entrySet()){ if.. 더보기
MultiUpload 사용하기 --- Websqure 기능으로 사용하기 1. websquare.xml 설정 gif, jpg, doc, xls, ppt, pdf, txt, xlsx, png, pptx, docx, jpeg, xml, cell, csv, der jsp, asp, php 。 。 。 。 。 。 1. : [property : subDir]가 설정되어있지 않다면 baseDir의 value 위치로 파일을 업로드 한다. 2. : [property : subDir]에 태그네임을 설정하면 태그네임의 value 위치로 파일을 업로드 한다. 3. : 업로드 하는 파일의 파일명 인코딩을 설정. 4. : 파일명과 파일주소를 정의할 수 있는 인터페이스. 아래에 추가 서술. 5. : 업로드 시 동일한 파일이 있을시, 파일명에 붙일 postFix... 더보기
Optional에 대하여 Optional 클래스는 Java8버전에서부터 지원한다. 본 글은 내가 실제로 사용하는 부분만을 간결하게 적어놓았기 때문에, 더욱 자세한 정보가 궁금하다면 내가 참고하였던 블로그에 들어가 보는 것을 추천한다. - 참고 블로그 : https://mangkyu.tistory.com/70 /* Optional.ofNullable(getName()) : getName()에서 값이 넘어오면 값이 들어있는 Optional객체가 반환되고 null이 넘어온다면 비어있는 Optional객체가 반환되는데, 내가 Optional객체 자체를 사용할 일은 없을 것이다. 그래서 바로 .orElse("이름이 없네") : Optional클래스 메소드로 Optional객체의 값이 들어있다면 그 값을 반환하고 비어있다면 "이름이 없네".. 더보기