์ผํ๋ชฐ ํ๋ก์ ํธ - ์ค๋ฅ ๋ณด์
๋ฉ๋ด ๋์ฐ๋ ๊ธฐ๋ฅํ๋ฉด์ ํ์ฌ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ํฅ > ์ค๋ฅ ๋๋ ๋ถ๋ถ ์ก๊ณ ๊ฐ๊ธฐ
1. ์ํ ๋ฑ๋ก ํ adminSubMenuVO null ์ค๋ฅ
์๋ธ ๋ฉ๋ด ์กฐํํ ๋ ์ด๋ค ๋ฉ๋ด์ ์ํด์๋ ์๋ธ ๋ฉ๋ด์ธ์ง ๋ฉ๋ด์ฝ๋ ๋ฐ์ดํฐ ๊ฐ์ ธ์์ผ ํจ(์ฟผ๋ฆฌ ๋น ๊ฐ)
๋ฉ๋ด์ธํฐ์ ํฐ์์ ์๋ธ์ ๋ฉ๋ด์ ๋ชฉ๋ก์ ์กฐํํ ๋ ๋ฉ๋ด ์ฝ๋ ๋์ง๋๋ฐ
์ด ๋ฉ๋ด ์ฝ๋๋ controller์์ html ๊ฐ๊ธฐ ์ ์ ๋ค๋ ค์(? ์๋ธ๋ฉ๋ดVO(์ปค๋งจ๋๊ฐ์ฒด)๋ก ๋ฉ๋ด ์ฝ๋ ๋ฐ์์ ์ฟผ๋ฆฌ ๋น ๊ฐ ์ฑ์
ํ์ฌ ์ํ ๋ฑ๋ก ํ ๋ฉ๋ด์ธํฐ์ ํฐ๊ฐ ์คํ๋จ.
์ธํฐ์ ํฐ๊ฐ ์คํ๋๋ฉด ์๋ธ๋ฉ๋ดVO์์ ๋ฉ๋ด ์ฝ๋๋ฅผ ์ฐพ๋๋ฐ ์ํ ๋ฑ๋ก ๋๋ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ์ ๋์ด๊ฐ๊ธฐ ๋๋ฌธ์ ์ค๋ฅ.
์ปค๋งจ๋ ๊ฐ์ฒด ๋งค๊ฐ๋ณ์๋ก ๋๊ฒจ์ฃผ๋ฉด ๊ฐ๋ฅ? ใดใด
์ง๊ธ ์ํ ๋ฑ๋ก ํ redirect๋ก controller ์ด๋ํ๋๋ฐ redirect ์ฌ์ฉ ์ model๋ก ๋ฐ์ดํฐ ๋ชป ๊ฐ์ ธ๊ฐ.
์ค๋ฅ ์ก๊ธฐ.
์ํ ๋ฑ๋ก ํ์ด์ง๋ก ์ค๋ ๊ฒฝ์ฐ
1. ์ฌ์ด๋ ๋ฉ๋ด์์ ํด๋ฆญ(๋ฉ๋ด ์ฝ๋ ์๋ธ ๋ฉ๋ด ์ฝ๋ ๋ฐ์ดํฐ ๋์ด์ด) controller๋ฅผ ๋ณด๋ฉด ์ด๋ฏธ subMenuVO๋ฅผ ์ปค๋งจ๋ ๊ฐ์ฒด๋ก ์ฌ์ฉํ๊ณ ์์.
2. ์ํ ๋ฑ๋ก ํ redirect
์ํ ๋ฑ๋ก ํ ๋ค์ ์ํ ๋ฑ๋ก ํ์ด์ง๋ก ๊ฐ๋๋ฐ, ๋ฉ๋ด ์ฝ๋ ์์ด์ ์ค๋ฅ๋จ.
๋ฉ๋ด ์ฝ๋ ๋ฐ์ดํฐ ์ธํ ํด์ฃผ๋ ์๋ ์ฝ๋ ํ์!
if(adminSubMenuVO.getMenuCode() == null) {
adminSubMenuVO.setMenuCode("MENU_001");
}
if(adminSubMenuVO.getSubMenuCode() == null) {
adminSubMenuVO.setSubMenuCode("SUB_MENU_002");
}
์ด์ฐจํผ ๊ฐ์ ๋ก ๋๊ธฐ๋ ๋ฐ์ดํฐ ๋ชป ๋ฐ์๊ฐ๊ธฐ ๋๋ฌธ์ ?๋ก ๋๊ธฐ๋ ๋ฐ์ค ๊ทธ์ด์ง ๋ฐ์ดํฐ ๋๊ธฐ๋ ์ฝ๋๋ ์ง์์ค.
๊ทธ๋ฆฌ๊ณ ์ธํฐ์ ํฐ ์ ํ๊ฒ ์์ .
์ํ๋ฑ๋ก๊ณผ ์ํ๋ฑ๋กํ์ด์ง ์ด๋๊ฒฝ๋ก ์ด๋ฆ ๊ฐ๊ธฐ ๋๋ฌธ์ ๋ ๋ค ์ธํฐ์ ํฐ ํ.
์ธํฐ์ ํฐ ์ปจํผ๊ทธ๋ฅผ ๋ณด๋ฉด ๋ฉ๋ด regItem์ธ ๊ฒฝ์ฐ ์ธํฐ์ ํฐ ์คํ๋จ.
์ํ ๋ฑ๋ก ํ ์ธํฐ์ ํฐ ์ ํ๊ฒ ์ํ ๋ฑ๋ก ์ด๋๊ฒฝ๋ก regItemProcess๋ก ์์
controller ์ด๋ ๊ฒฝ๋ก ์์ ํ์์ผ๋ฉด reg_litem.html์์ form ํ๊ทธ action ์ด๋ ๊ฒฝ๋ก๋ ๋ฐ๊ฟ์ค์ผ ํจ.
ํ์ฌ controller์์ ๋ฉ๋ด ์ ๋ณด๊ฐ ์์ ๊ฒฝ์ฐ ์ธํ ์ํค๋ ์ฝ๋ ๊ณ์์ ์ผ๋ก ๋ฐ๋ณต.
์๋ธ ๋ฉ๋ด VO์ ๋ฉ๋ด ์ ๋ณด๊ฐ ์์ ๊ฒฝ์ฐ ์ธํ ์ํค๋ ๋ฉ์๋ ์์ฑ.
๋ฉ๋ด ์ ๋ณด๋ ์ด๋ค controller๋์ ๋ฐ๋ผ menuCode, subMenuCode ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์
//๋ฉ๋ด ์ฝ๋๊ฐ ์์ ๋ ๋ฐ์ดํฐ ์ธํ
์ํค๋ ๋ฉ์๋
public void setMenuInfo(String menuCode, String subMenuCode) {
if(getMenuCode() == null) {
setMenuCode(menuCode);
}
if(getSubMenuCode() == null) {
setSubMenuCode(subMenuCode);
}
}
controller์์ ๋ฉ์๋ ์ฌ์ฉํ๋ฉด ๋จ.
์ํ ๋ฑ๋ก ํ์ด์ง ๊ฒฝ์ฐ.
adminSubMenuVO.setMenuInfo("MENU_001", "SUB_MENU_002");
์นดํ ๊ณ ๋ฆฌ ๊ด๋ฆฌ ํ์ด์ง ๊ฒฝ์ฐ
์๋ if๋ฌธ ์ฝ๋ ์ญ์
์๋ ์ฝ๋๋ก ๋์ฒด
//๊ด๋ฆฌ์๋ก ๋ก๊ทธ์ธ ํ ๊ฒฝ์ฐ ์ฒซ ํ์ด์ง ์นดํ
๊ณ ๋ฆฌ ํ์ด์ง๋ก ์ด๋.(๊ฐ์ ธ๊ฐ๋ ๋ฐ์ดํฐ X)
//์ธ๋ฑ์ค ์ปจํธ๋กค๋ฌ์์ ์ฌ ๋๋ ๋ฐ์ดํฐ ์๊ธฐ ๋๋ฌธ์ ์๋ธ ๋ฉ๋ด ์ฝ๋ ๋ฐ์ดํฐ ๋ฃ๊ธฐ.
adminSubMenuVO.setMenuInfo(ConstVariable.DEFAULT_MENU_CODE, ConstVariable.DEFAULT_SUB_MENU_CODE_1);
ํ์ ์ ๋ณด ๊ด๋ฆฌ ํ์ด์ง.
์๋ if๋ฌธ ์ญ์
์๋ ์ฝ๋๋ก ๋์ฒด
//์๋จ ๋ฉ๋ด ํด๋ฆญ ์ SUB_MENU_CODE ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋ก ๋ฐ์ดํฐ ๋ฃ๊ธฐ(๋ฉ๋ด์ ํ๋์ ํ์๋ฅผ ์ํจ)
adminSubMenuVO.setMenuInfo("MENU_002", ConstVariable.DEFAULT_SUB_MENU_CODE_2);
์ฃผ๋ฌธ๊ด๋ฆฌ ํ์ด์ง
์๋ if๋ฌธ ์ฝ๋ ์ญ์
์๋ ์ฝ๋๋ก ๋์ฒด
//์๋จ ๋ฉ๋ด ํด๋ฆญ ์ SUB_MENU_CODE ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋ก ๋ฐ์ดํฐ ๋ฃ๊ธฐ(๋ฉ๋ด์ ํ๋์ ํ์๋ฅผ ์ํจ)
adminSubMenuVO.setMenuInfo("MENU_003", ConstVariable.DEFAULT_SUB_MENU_CODE_3);
์๋ณ ํํฉ ํ์ด์ง
์๋ if๋ฌธ ์ฝ๋ ์ญ์
์๋ ์ฝ๋๋ก ๋์ฒด
//js์์ ํ์ด์ง ์ด๋ ์ ๋ฉ๋ด ์ฝ๋ ์ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ ์์๋ก ๋ฃ์ด์ค
adminSubMenuVO.setMenuInfo("MENU_003", "SUB_MENU_007");
2. ์ํ ๊ฒ์ ๊ธฐ๋ฅ ์ค๋ฅ
๋ฉ๋ด ์ ๋ณด ์์ด์ ์ค๋ฅ
์ํ ๊ด๋ฆฌ ํ์ด์ง ์ฌ์ด๋ ๋ฉ๋ด ํด๋ฆญ ์ ๋ฉ๋ด ์ ๋ณด๋ค ์๋ธ๋ฉ๋ดVO๊ฐ ๋ฐ์
๊ฒ์ ๋ฒํผ ๋๋ฅด๋ฉด ์ํ๊ด๋ฆฌ ํ์ด์ง๋ก ์ค๋๋ฐ ๊ทธ๋๋ ๋ฐ์ดํฐ ์ ๋ฐ์์ด > ์ค๋ฅ
๋ฉ๋ด ์ ๋ณด ์ธํ ๋ฉ์๋ ์ถ๊ฐ.
//๊ฒ์ ๊ธฐ๋ฅ ์ฌ์ฉ ํ ์ํ ๊ด๋ฆฌ ํ์ด์ง ์ฌ ๋ ๋ฉ๋ด ์ ๋ณด ์ธํ
adminSubMenuVO.setMenuInfo("MENU_001", "SUM_MENU_003");