๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (454)
Bibi's DevLog ๐ค๐
HTML input ๋นํ์ฑํ - disabled, readonly HTML ์ ๋ ฅ ํ๋๋ฅผ ๋นํ์ฑํ ์ํฌ ์ ์๋ค. inputํ๊ทธ์ ์์ฑ์ธ disabled ๋๋ readonly๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. disabled : ์ ๋ ฅ ํ๋ ๋นํ์ฑํ์ ํจ๊ป, ์ผ๋ก ์ ์กํด๋ ํด๋น ํ๋ ๋ด์ฉ์ ์ ์ก๋์ง ์๋๋ค. ๋ฐ์ดํฐ๋ก ๋ณด์ง ์๋๋ก ๊ฐ์ฃผํ๋ ์์ฑ์ด๋ค. โ ๊ธฐ์กด์ ๋ฐ์์ค๋ ๊ฐ์ disabled๋ก ์ค์ ํ๋ฉด ๋น ๊ฐ์ ๋ฐ์์ค๊ฒ ๋๋ ์ฃผ์ํ๋ค. readonly : ์ ๋ ฅ ํ๋๋ฅผ ๋นํ์ฑํํ์ง๋ง, ์ผ๋ก ํด๋น ํ๋์ ๋ด์ฉ์ ์ ์ก๋๋ค.
MVC ์น ํ๋ ์์ํฌ๊ฐ ๋ญ๊ฐ์? MVC์ ๋ํด ๋๋ฌด ์ดํดํ์ง ๋ชปํ๊ณ ์๋ ๊ฒ ๊ฐ์์, ์ฝ๊ฒ ์ค๋ช ํด์ฃผ๋ ์์์ ๋ณด๊ณ ์ ๋ฆฌํ๋ค. ..๋ฅผ ๋ณด๋ ค ํ๋๋ฐ ์ด ์์์ ์ํด ์ ์ ์น์ ๋ญ๊ณ ๋์ ์น์ ๋ญ๊ฐ์?๋ฅผ ๋ด์ผ ํ๋ค๊ณ ํด์ ํจ๊ป ๊ฐ๋จํ ์ ๋ฆฌํด ๋ณด์๋ค. ์ ์ ์น static web, ๋์ ์น dynamic web ์ ์ ์น static web ์ธ์ ์ ์ํด๋ ๊ฐ์ ๋ฆฌ์์ค๋ฅผ ๋ณด๋ด ์ฃผ๋ ์น ์ฌ์ดํธ. ํธ์์ : ''์ค๋น๋ ์์''์ ๋ฐ๋ก ๋จน๊ฑฐ๋ ๋ด๊ฐ ๊ฐ๋จํ ์กฐ๋ฆฌํด ๋จน์ -> ์ ์ ์น ์๋ฒ๋ html, css, js ์ฝ๋ ๋ฐ ์ด๋ฏธ์ง&๋์์์ ์ค๋น๋ ๊ทธ๋๋ก ํด๋ผ์ด์ธํธ์ ๋ณด๋ด ์ค๋ค. ๋ง์น ์ง์ด๋์ ์ค๋น๋ ์ํ ๊ทธ๋๋ก ์ฌ๊ฐ๋ ๊ฒ๊ณผ ๊ฐ์. โ ๋ค์ด๊ฐ ๋ ๋ง๋ค ๊ฐ์ ํ๋ฉด์ธ ๊ฒ = ์ ์ ์น์ธ๊ฐ? โ ๊ผญ ๊ทธ..
[Spring] @RequestParam, @PathVariable ์ฐจ์ด ์ฐธ๊ณ : ๋ธ๋ก๊ทธ. ์๋ ์ค๋ช ์ด ์ ๋์ด ์์ด ๋๋ ๊ฐ๋จํ ์ ๋ฆฌ๋ง ํ๊ธฐ๋ก ํ๋ค. ๊ฐ์ฌํฉ๋๋ค! ๋ ๋ค Spring์์ URL์ ํตํด ํด๋ผ์ด์ธํธ๋ก๋ถํฐ Controller์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฌ๋ฐ์ ๋ ์ฌ์ฉํ๋ ์ด๋ ธํ ์ด์ ์ด๋ค. @RequestParam http://127.0.0.1?index=1&page=2 ์ ๊ฐ์ ํ์์ URL์์ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๋ฐ์์ฌ ๋ ์ฃผ๋ก ์ฌ์ฉ. (์ด๋ฆ&๊ฐ ์ ๋ฌ) ํ๋ผ๋ฏธํฐ ์ด๋ฆ = index, page, ... ํ๋ผ๋ฏธํฐ ๊ฐ = 1, 2 ... @GetMapping("read") public ModelAndView getFactoryRead(@RequestParam("index") int indexNum, SearchCr..
handlebars ํ ํ๋ฆฟ ์์ง ์ฐธ๊ณ : ๋ธ๋ก๊ทธ. ๊ฐ์ฌํฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ค๋ช ํ๊ณ ์์ง๋ง ํฐ ๋งฅ๋ฝ์ ์ดํดํ๋ ๋ฐ์ ๋์์ด ๋์๋ค. handlebars๋ ํ ํ๋ฆฟ ์์ง์ ํ๋์ด๋ค. mustache๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋์ด ๋ฌธ๋ฒ์ด ๊ฑฐ์ ๊ฐ๋ค. mustache์์ ์ฃผ์ ์ฐจ์ด์ ์ ํฌํผ๊ฐ ์กด์ฌํ๋ค๋ ๊ฒ์ด๋ค. ํฌํผ๋ฅผ ์ฌ์ฉํ๋ฉด, ํ ํ๋ฆฟ ์์ง์ ๊ฐ๋จํ ๋ก์ง์ ํฌํจ์ํฌ ์ ์๋ค. handlebars๊ฐ ์ ๊ณตํ๋ ํฌํผ๋ ์๊ณ , ์ฌ์ฉ์๊ฐ ์ง์ ํฌํผ๋ฅผ ๋ฑ๋กํด ์ฌ์ฉํ ์๋ ์๋ค. handlebars ์ฌ์ฉ์ ์ํ ์ค์ (์คํ๋ง ๋ถํธ, gradle) build.gradle dependencies์ compile 'pl.allegro.tech.boot:handlebars-spring-boot-starter:0.3.2' ์ถ๊ฐ..
ํ์๊ฐ์ ๊ธฐ๋ฅ ๊ตฌํ ํ์๊ฐ์ ํ์ด์ง์์ ํ์๊ฐ์ ์ ํ๋ฉด, ์ฌ์ฉ์์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์์ ๋ฐ์ ์ถ๋ ฅํ๋ค. ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ค. ์์ฑ action : ์๋ฒ์ ์์ฒญ์ ๋ณด๋ผ ๋ ์ด๋ค URL๋ก ๋ณด๋ผ์ง๋ฅผ ์ง์ ํ ์ ์์. : ํด๋น form์ผ๋ก๋ถํฐ /create๋ก ์๋ฒ์ ์์ฒญ์ ๋ณด๋ URL์ด ์ถ๊ฐ๋๋ฉด ํญ์ ์์ํ๋ Controller ๋ฐ ๋ฉ์๋๊ฐ ์์ด์ผ ํ๋ค. formํ๊ทธ์ ์๋ฌด ์์ฑ์ ์ ๋ ฅํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก GET๋ฐฉ์์ผ๋ก ํต์ ํ๋ค. index.mustache ์์ด๋ ๋น๋ฐ๋ฒํธ ์ด๋ฆ ์ด๋ฉ์ผ ์ ์ถ ์๋ฌด๊ฒ๋ ์ ๋ ฅํ์ง ์๊ณ ์ ์ถํ์ ๋์ URL : http://localhost:8080/create?userid=&password=&username=&useremail= UserController...
mustache ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์ ๋ฆฌํ๊ธฐ ๋ณต์กํ์ง ์์ผ๋ฏ๋ก ๊ณต๋ถ ๋ฐ ์ฐ์ตํด ๋ณธ๋ค! ๊ณต์ํ์ด์ง..๋ฅผ ๋ฒ์ญํ ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๊ณ ๊ณต๋ถํ์ต๋๋ค. 1. ๋ณ์ {{, }} ์ฌ์ด์ ๋ณ์๋ช ์ ์ ๋ ฅํ๋ค. ๋ฌธ์์ด์ ์๋ HTML ์ด์ค์ผ์ดํ ๋๋ค. ์ด์ค์ผ์ดํ Escape๋? ํน์ ๋ฌธ์๋ฅผ HTML๋ก ๋ณํํ๋ ํ์. (์ ๋ก์ด ์ฐธ๊ณ ) ์ด์ค์ผ์ดํ๋์ง ์์ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ ค๋ฉด {{{, }}}์ ์ฌ์ฉํ๋ค. ๋ฐ์ดํฐ { "name" : "Chris", "company" : "Github" }ํ ํ๋ฆฟ {{name}} {{age}} {{company}} {{{company}}}๊ฒฐ๊ณผ Chris Github Github1-1. ๋ณต์กํ ๊ฐ์ฒด : ๊ฐ์ฒด ์์ ๊ฐ์ฒด๊ฐ ํฌํจ๋์ด ์์ ๋๋ ์ ๋ฌธ๋ฒ(dot-syntax)์ ์ฌ์ฉํ๋ค. ๋ฐ์ดํฐ { "name..
mustache๋ฅผ ํ์ฉํ ๋์ ์ธ HTML๊ณผ MVC ์ค๋ช ์ปจํธ๋กค๋ฌ์์ mustache๋ผ๋ ํ ํ๋ฆฟ์์ง์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด, ๋์ ์ธ HTML์ ๋ง๋ค์ด๋ด๋ ๋ฒ์ ๋ฐฐ์ด๋ค. MVC์ ๊ฐ๋ MVC๋ ํ ๊ณณ์์ ๋ง์ ๋ก์ง์ ์ฒ๋ฆฌํ๋ ๋์ , ๊ฐ ์ฝ๋์ ์ญํ ์ ๋ถ๋ดํ๊ธฐ ์ํด ๋ฑ์ฅํ๋ค. Controller : ์ต์ด ์ง์ ์ง์ . ์ฌ์ฉ์์ ์ ๋ ฅ ๊ฐ์ด ์ ํจํ ์ง๋ฅผ ๊ฒ์ฆํ๊ณ , ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ Model์ ์ ๋ฌํ๊ณ , Model์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ด๋ํ View๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ Model : ์ค์ง์ ์ธ ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌํํ๋ ์ญํ ์ ๋ด๋นํจ. ๋น์ฆ๋์ค ๋ก์ง ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ DB์ ์ ์ฅํ๊ณ ์กฐํํ๋ ์ญํ . ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ง์ด๋ผ ํ ์ ์์. View : Controller์ ์ํด ์ ๋ฌ๋ ๋ฐ์ดํฐ๋ฅผ ๋จ์ํ ์ถ๋ ฅํ๋ ์ญํ ํ ํ๋ฆฟ ์์ง์ด..
github.com/bibi6666667/TIL/blob/main/2021.03/TIL%20-%20210302.md github.com/bibi6666667/TIL/blob/main/2021.03/TIL%20-%20210303.md github.com/bibi6666667/TIL/blob/main/2021.03/TIL%20-%20210304.md github.com/bibi6666667/TIL/blob/main/2021.03/TIL%20-%20210305.md github.com/bibi6666667/TIL/blob/main/2021.03/TIL%20-%20210306.md github.com/bibi6666667/TIL/blob/main/2021.03/TIL%20-%20210307.md 2021๋ 3์..