이 전글에 tiles는 페이지가 늘어날때마다 새로 tiles 값들을 추가해줘야 했다. 그런 불편함을 잡기 위해 와일드 카드(*)를 사용해보려 한다 굉장히 간단하다 와일드 카드(*)가 사용되는 곳 바로 그 단어를 put-attribute에 {1} 이렇게 표시할 수 있다. 만약 url로 /notice/list 라고 들어온다면 {1}은 list가 된다. 또 2개 이상으로 사용하고 싶다면 tiles name에 notice.*.* 이라고 하나 더 추가해주고 {1} {2} 형식으로 순차적으로 값을 넣어주면 된다.
간단하게 Tiles의 경우 Dispatcher 서블릿에 이렇게 설정이 가능한데 주목할 곳은 기존에 이미 Resolver 설정이 되어있기 때문에 property로 order를 1로 두어 우선순위를 정해준다. 주의 : 스프링의 버전에 따라 tiles도 최신버전으로 바꿔야 할 수 있다. 또 jsp에 뿌려줄때에는 ignore를 true로 두면 해당 jsp에 내용이 없을 경우 오류가 나지 않는다. 만약 내용이 있는데 나오지 않는다면 경로가 틀렸을 수 있으니 꼭 확인해볼것. jstl에 대한 오류 또한 날 수 있으니 추가해준다. (tiles 의 태그와 연관이 있는 듯 하다.) jsp tiles.xml pom.xml 4.0.0 com.newenw webpj 0.0.1-SNAPSHOT war org.springframe..
이전에 WEB-INF에 tiles.xml에 이런 형식으로 입력했을것이다. 여기서 template에 put-attribute에 입력된 내용에 name을 이용해서 페이지를 꾸며 줄 수 있다. tiles를 사용하려면 기본적으로 라이브러리를 가져와야한다. pom.xml에 추가해주고 사용하면 된다. 방금 전 template에 포함됐던 layout으로 가 taglib을 추가해주자 이전에 tiles.xml에 put-attribute속에 name 값을 불러오면 해당 header의 value값을 불러오게 된다. 이런식으로 header body등 위치시켜준다 title은 그냥 String값으로 공지사항을 넣었는데 이렇게 tiles 라이브러리의 함수값?으로 String값을 가져 올 수 있다.
webapp/images 폴더 아래에 맞는 이름의 png 파일을 두었는데 읽어오질 못한다 왜 그럴까? 서버를 키고 페이지를 브라우저에 띄었다면 localhost:8080/images/logo_footer.png 이런 경로를 통해 파일을 가져오는 것으로 된다 이유는 기본적으로 스프링이 정적인 파일을 불러오는 것을 막아뒀기 때문인데 이미지나 html 등을말하는데 jsp같은 파일을 사용가능하게 열어두고있다 만약 webapp폴더 어래에 test.jsp 파일을 두고 ctrl+f11을 눌러 열어본다면 잘열리게 된다. 하지만 이미지파일은 logo.png를 webapp폴더 아래에 두고 열면 열리지 않는다 여기서 우린 처음 리퀘스트를 받는 frontController 즉 DispatcherServlet을 확인해 볼 필요..
mv.setViewName("/WEB-INF/view/index.jsp"); 이렇게 경로를 모두 적는 것은 사실 귀찮은일이다 이걸 편하게 해주는 것이 view Resolver이다 먼저 dispatcher-servlet.xml으로간다 여기서 ioc컨테이너의 들어갈 bean을 하나 설정해주는데 받아올 라이브러리는 InternalResourceViewResolver이다 bean이 클래스라면 property는 필드가된다. 실제로 ioc에 올라가는 것은 객체이기 때문에 모양상으로는 맞다 name은 필드의 이름을 정해주고 value는 그 값이 된다. 여기서 만약 ref를 통해 타입을 정해준다면 를 하나 만들어서 주입시켜주어야 한다 여기보이는 프로퍼티와 네임은 뷰리졸버가 사용하는 필드값 중 하나가 될 것이다. vie..
Maven repository사이트에서 Spring MVC를 받는다. pom.xml에 넣으면 라이브러리에 포함이 된다. 이 라이브러리중 방금 포함한 Spring-webmvc 안에 DispatcherServlet을 사용할 것이다. 스프링에서 프론트 컨트롤러역할을 하기위한 서블릿이라 할 수 있다. 오른클릭 후 -> Copy Qualified Name 를 눌러 이름을 카피해준다 프론트 컨트롤러역할을 하기위한 서블릿이라 할 수이다. 잠깐 멈춰 이야기하자면 jsp처럼 컨트롤러 영역에서 모든걸 다 해결하는 것이아닌 가장 앞에서 요청을 받는 프론트컨트롤러로 DispatcherServlet을 사용하는 것이기 때문에 web.xml안에 servlet으로 지정해준다 이때 복사한 경로이름에 .class는 지워줘야한다 그다음 ..
만약 스프링 4.10버전을 깔게 되었다면 Help > Install New Software... > work with 에 http://download.eclipse.org/releases/2020-12 입력 후 엔터 > 맨 마지막에 web,xml,java ee and OSGi Enterprise Develoment 설치해서 이전 웹 전반에 필요한 것들을 만들 수 있도록 install 해줘야한다 기본적으로 2개의 프로젝트를만들 수 있게 표시 되어있다 여기서 Create new Spring starter Project는 spring boot를 기반으로 만드는 프로젝트인데 spring boot로 가도 스프링은 똑같지만 boot가 얹어지는 것이다. 이 글은 MVC 모델2 방식을 사용하기 때문에 new -> ot..
- Total
- Today
- Yesterday
- BindingResult
- 백엔드 개발자 역량
- Intercepter
- 스프링부트
- Java
- 백엔드 개발자 공부
- 컨트
- React
- 스프링공부
- rejectValue
- HTTP
- ArgumentResolver
- 인터셉터
- filter
- hypertexttransferprotocol
- 항해플러스
- exception
- thymleaf
- JPA
- jpa api
- 향해플러스백엔드
- 로그인
- react실행
- 향해99
- 향해플러스
- reject
- SpringBoot
- 예외처리
- 항해99
- 리터럴
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
