refactor: 프로그램관리 - CRUD 분리 필요

main
Jonguk. Lim 2 years ago
parent 8a83118d86
commit 24ecc193be

@ -23,7 +23,7 @@ import kr.xit.framework.core.utils.XitCmmnUtil;
* @version 1.0 Copyright(c) XIT All rights reserved.
*/
@Controller
@RequestMapping("/_cmmn_/util/")
@RequestMapping("/framework/util/")
public class XitFrameUtilController {
/**
@ -32,9 +32,9 @@ public class XitFrameUtilController {
* @author:
* @date: 2020. 6. 2.
*/
@RequestMapping(value="validator.do", method={RequestMethod.GET, RequestMethod.POST})
@RequestMapping(value="validator", method={RequestMethod.GET, RequestMethod.POST})
public String validate() {
return "framework/cmmn/util/validator"+TILES_TYPE.NONE.getVal();
return "framework/util/validator"+TILES_TYPE.NONE.getVal();
}
/**

@ -17,6 +17,7 @@ import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@ -132,7 +133,7 @@ public class ProgramMngController {
@RequestMapping(value = "/program_{cmd}", method={RequestMethod.GET, RequestMethod.POST})
public String ProgramMng_page(@PathVariable String cmd
, @RequestParam(value="tilesDef", required=false, defaultValue="") String tilesDef
, @ModelAttribute("progrmManageVO") ProgramMngVO vo
, @ModelAttribute("progrmMngVO") ProgramMngVO vo
, ModelMap model) {
switch (cmd) {
case "input": //등록 페이지
@ -140,7 +141,7 @@ public class ProgramMngController {
case "edit": //수정 페이지
case "view": //상세 페이지
ProgramMngVO programMngVO = programMngService.findView(vo);
model.addAttribute("progrmManageVO", programMngVO);
model.addAttribute("progrmMngVO", programMngVO);
break;
default:
throw new RuntimeException("유효하지 않은 요청 입니다.");
@ -149,7 +150,7 @@ public class ProgramMngController {
if(!"".equals(tilesDef))
tilesDef = "."+tilesDef;
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/menu/mngProgramMng_"+cmd+tilesDef;
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/menu/mngProgramMgt_"+cmd+tilesDef;
}
@ -165,7 +166,7 @@ public class ProgramMngController {
@RequestMapping(value = "/program_{cmd}_popup", method={RequestMethod.GET, RequestMethod.POST})
public String ProgramMng_page_popup(@PathVariable String cmd
, @ModelAttribute("searchVO") ProgramMngSearchVO searchVO
, @ModelAttribute("progrmManageVO") ProgramMngVO vo, ModelMap model) {
, @ModelAttribute("progrmMngVO") ProgramMngVO vo, ModelMap model) {
switch (cmd) {
case "FileNmSearch": //프로그램 파일명 조회 페이지
// 내역 조회
@ -194,14 +195,14 @@ public class ProgramMngController {
break;
case "edit" :
ProgramMngVO xitProgramMngVO = programMngService.findView(vo);
model.addAttribute("progrmManageVO", xitProgramMngVO);
model.addAttribute("progrmMngVO", xitProgramMngVO);
break;
default:
throw new RuntimeException("유효하지 않은 요청 입니다.");
}
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/menu/mngProgramMng_"+cmd+"_popup"+TILES_TYPE.POPUP.getVal();
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/menu/mngProgramMgt_"+cmd+"_popup"+TILES_TYPE.POPUP.getVal();
}
@ -214,9 +215,9 @@ public class ProgramMngController {
* @throws ServletException
* @date: 2020. 3. 25.
*/
@RequestMapping(value = "/program_{cmd}_proc", method=RequestMethod.POST)
@RequestMapping(value = {"/program_{cmd}_proc"}, method=RequestMethod.POST)
public void ProgramMng_cmd_proc(@PathVariable String cmd
,@ModelAttribute("progrmManageVO") ProgramMngVO vo
,@ModelAttribute("progrmMngVO") ProgramMngVO vo
,@RequestParam(value="checkedProgrmFileNmForDel", required=false, defaultValue="") String checkedProgrmFileNmForDel
,BindingResult bindingResult
,Model model
@ -227,18 +228,18 @@ public class ProgramMngController {
/**
*
*/
String sLocationUrl = "forward:/mng/menu/programList.do";
String sLocationUrl = "forward:/framework/biz/mng/menu/programList.do";
String resultMsg = null;
switch (cmd) {
case "insert": //등록
//유효성 확인
//2020.11.24. 주석처리
beanValidator.validate(vo, bindingResult);
// beanValidator.validate("progrmManageVO", vo, bindingResult);
// beanValidator.validate("progrmMngVO", vo, bindingResult);
if (bindingResult.hasErrors()) {
// throw new RuntimeException(xitMessageSource.getMessage("fail.common.insert"));
resultMsg = xitMessageSource.getMessage("fail.common.insert");
sLocationUrl = "forward:/mng/menu/program_input.do";
sLocationUrl = "forward:/framework/biz/mng/menu/program_input.do";
break;
}
if (vo.getProgrmDc() == null || vo.getProgrmDc().equals("")) {
@ -256,11 +257,11 @@ public class ProgramMngController {
//유효성 확인
//2020.11.24. 주석처리
beanValidator.validate(vo, bindingResult);
// beanValidator.validate("progrmManageVO", vo, bindingResult);
// beanValidator.validate("progrmMngVO", vo, bindingResult);
if (bindingResult.hasErrors()) {
// throw new RuntimeException(xitMessageSource.getMessage("fail.common.update"));
resultMsg = xitMessageSource.getMessage("fail.common.update");
sLocationUrl = "forward:/mng/menu/program_edit.do";
sLocationUrl = "forward:/framework/biz/mng/menu/program_edit.do";
break;
}
if (vo.getProgrmDc() == null || vo.getProgrmDc().equals("")) {
@ -279,10 +280,10 @@ public class ProgramMngController {
break;
} catch (RuntimeException e) {
resultMsg = e.getMessage();
sLocationUrl = "forward:/mng/menu/program_edit.do";
sLocationUrl = "forward:/framework/biz/mng/menu/program_edit.do";
} catch (Exception e) {
resultMsg = xitMessageSource.getMessage("fail.common.delete");
sLocationUrl = "forward:/mng/menu/program_edit.do";
sLocationUrl = "forward:/framework/biz/mng/menu/program_edit.do";
}
break;
@ -301,9 +302,64 @@ public class ProgramMngController {
default:
new RuntimeException("유효하지 않은 요청 입니다.");
}
/**
*
*/
/* ============================
* 2020.09.10
*
* - ajax json
* [AS-IS] String, return url "forward"
* [TO-BE] void, DispatchServlet forward , ajax json forward
============================ */
//2020.09.10 주석처리
// model.addAttribute("resultMsg", resultMsg);
// return sLocationUrl;
model.addAttribute("resultMsg", resultMsg);
if (XitCmmnUtil.isAjaxRequest(request)) { //ajax 요청시
//반환 데이터 설정
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("resultMsg", resultMsg);
XitCmmnUtil.forwardForAjaxRequest(request, response, resultMap);
} else { //submit 요청 시
XitCmmnUtil.forwardForSubmitRequest(request, response, sLocationUrl, model.asMap());
}
}
@PostMapping(value = "/updateProgram")
public void updateProgram(@ModelAttribute("progrmMngVO") ProgramMngVO vo
,@RequestParam(value="checkedProgrmFileNmForDel", required=false, defaultValue="") String checkedProgrmFileNmForDel
,BindingResult bindingResult
,Model model
,HttpServletRequest request
,HttpServletResponse response
) throws ServletException, IOException {
/**
*
*/
String sLocationUrl = "forward:/framework/biz/mng/menu/programList.do";
String resultMsg = null;
//유효성 확인
//2020.11.24. 주석처리
beanValidator.validate(vo, bindingResult);
// beanValidator.validate("progrmMngVO", vo, bindingResult);
if (bindingResult.hasErrors()) {
// throw new RuntimeException(xitMessageSource.getMessage("fail.common.update"));
resultMsg = xitMessageSource.getMessage("fail.common.update");
sLocationUrl = "forward:/framework/biz/mng/menu/program_edit.do";
}else {
if (vo.getProgrmDc() == null || vo.getProgrmDc().equals("")) {
vo.setProgrmDc(" ");
}
}
//처리
programMngService.modifyProc(vo);
resultMsg = xitMessageSource.getMessage("success.common.update");
/**
*
*/
@ -315,16 +371,19 @@ public class ProgramMngController {
* [TO-BE] void, DispatchServlet forward , ajax json forward
============================ */
//2020.09.10 주석처리
// model.addAttribute("resultMsg", resultMsg);
// return sLocationUrl;
// model.addAttribute("resultMsg", resultMsg);
// return sLocationUrl;
model.addAttribute("resultMsg", resultMsg);
if(XitCmmnUtil.isAjaxRequest(request)){ //ajax 요청시
if (XitCmmnUtil.isAjaxRequest(request)) { //ajax 요청시
//반환 데이터 설정
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("resultMsg", resultMsg);
XitCmmnUtil.forwardForAjaxRequest(request, response, resultMap);
}else { //submit 요청 시
} else { //submit 요청 시
XitCmmnUtil.forwardForSubmitRequest(request, response, sLocationUrl, model.asMap());
}
}
}

@ -976,7 +976,7 @@ public class XitCmmnUtil {
*
*/
if(isAjaxRequest) {
requestUrl = "/_cmmn_/util/responseJson.do"; //json 데이터로 response 하도록 처리하는 서비스 경로
requestUrl = "/framework/util/responseJson.do"; //json 데이터로 response 하도록 처리하는 서비스 경로
if(isNoParentKey) {
Iterator<String> keys = resultData.keySet().iterator();
while(keys.hasNext()) {

@ -3,27 +3,8 @@
<mapper namespace="kr.xit.framework.biz.mng.mapper.ProgramMngMapper">
<sql id="findList_SELECT">
SELECT A.PROGRM_FILE_NM AS "progrmFileNm"
, A.PROGRM_STRE_COURS AS "progrmStrePath"
, A.PROGRM_KOREAN_NM AS "progrmKoreanNm"
/*, CONCAT(DBMS_LOB.SUBSTRING (A.PROGRM_DC, 10, 1),'...') AS "progrmDc" */
, A.PROGRM_DC AS "progrmDc"
, A.URL AS "URL"
</sql>
<sql id="findList_FROM">
FROM XIT_PROGRM_LIST A
</sql>
<sql id="findList_WHERE">
<if test="@kr.xit.framework.core.utils.XitCmmnUtil@notEmpty(searchKeyword)">
AND A.PROGRM_KOREAN_NM LIKE CONCAT('%',#{searchKeyword},'%')
</if>
</sql>
<select id="findList" resultType="kr.xit.framework.biz.mng.model.ProgramMngVO">
/* Rt0200-mysql-mapper|findList-프로그램 목록 조회|julim */
/* program-mysql-mapper|findList-프로그램 목록 조회|julim */
SELECT progrm_file_nm
, progrm_stre_cours AS progrmStrePath
, progrm_korean_nm
@ -38,25 +19,16 @@
</where>
</select>
<select id="findListTotCnt" resultType="int">
/** XitProgramMngMapper.findListTotCnt */
/** 프로그램관리 목록 총건수 조회 */
SELECT COUNT(1) AS "CNT"
<include refid="findList_FROM"/>
WHERE 1=1
<include refid="findList_WHERE"/>
</select>
<select id="findView" resultType="kr.xit.framework.biz.mng.model.ProgramMngVO">
/** XitProgramMngMapper.findView */
/** 프로그램관리 상세정보 조회 */
<include refid="findList_SELECT"/>
<include refid="findList_FROM"/>
WHERE A.PROGRM_FILE_NM = #{progrmFileNm}
/* program-mysql-mapper|findView-프로그램 정보 조회|julim */
SELECT progrm_file_nm
, progrm_stre_cours AS progrmStrePath
, progrm_korean_nm
/*, CONCAT(SUBSTRING(progrm_dc, 10, 1),'...') AS progrmDc -->*/
, progrm_dc
, url
FROM xit_progrm_list
WHERE progrm_file_nm = #{progrmFileNm}
</select>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="kr.xit.framework.biz.mng.menu.program.dao.XitProgramMngMapper">
<mapper namespace="kr.xit.framework.biz.mng.mapper.ProgramMngMapper">
<!-- SQL 페이징 코드 -->
<sql id="pageBefore">
SELECT * FROM

@ -4,7 +4,7 @@
"http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
<form-validation>
<formset>
<form name="progrmManageVO">
<form name="progrmMngVO">
<field property="progrmFileNm" depends="required, maxlength">
<arg0 key="프로그램파일명" resource="false"/>
<arg1 key="50" resource="false"/>
@ -47,4 +47,4 @@
</field>
</form>
</formset>
</form-validation>
</form-validation>

@ -62,15 +62,12 @@
<div id="grid_t0"></div>
<script type="text/javaScript" language="javascript">
let GRID = null;
$(document).ready(function(){
XitProgramMng.init();
});
/* *******************************
* 프로그램 목록관리 Functions
******************************* */
var XitProgramMng = {
let GRID = null;
/* *******************************
* 프로그램 목록관리 Functions
******************************* */
var mngProgramMgtForm = {
init : function(){
/* ******************************
@ -89,16 +86,12 @@ var XitProgramMng = {
renderer: {
type: CustomButtonRenderer,
options: {
formatter : function(props){
var rowData = props.grid.getRow(props.rowKey);
var obj = {
formatter : rowData.progrmFileNm
,element : "text"
}
return obj;
}
,eventFunction: XitProgramMng.fnClickProgramBtn //function(){alert("1234")}
,eventType : "click"
formatter : (props) => ({
formatter : props.grid.getRow(props.rowKey).progrmFileNm
, element: "text"
})
, eventFunction: this.fnClickProgramBtn //function(){alert("1234")}
, eventType : "click"
}
}
</c:if>
@ -176,16 +169,16 @@ var XitProgramMng = {
/*//검색 Event 설정
$('#btnSearch').on({
click: function(){
XitProgramMng_list.findData();
mngProgramMgtForm_list.findData();
}
});
//등록 Event 설정
$("#btnRegist").click(function(){
XitProgramMng_list.pagePopup('input', "<c:url value='/framework/biz/mng/menu/ProgramMng_input.do'/>");
mngProgramMgtForm_list.pagePopup('input', "<c:url value='/framework/biz/mng/menu/ProgramMng_input.do'/>");
});
//삭제 Event 설정
$("#btnDelete").click(function(){
XitProgramMng_list.removeData();
mngProgramMgtForm_list.removeData();
});
*/
@ -195,7 +188,7 @@ var XitProgramMng = {
* 데이터 조회
======================== */
findData : function(){
instance.reloadData();
GRID.reloadData();
},
/* ========================
* 데이터 등록
@ -233,7 +226,7 @@ var XitProgramMng = {
dataType : "json",
success : function(data) {
alert(data.resp.resultMsg);
XitProgramMng.findData();
this.findData();
},
error: function(){
@ -253,7 +246,7 @@ var XitProgramMng = {
document.frmSearch.submit();
break;
case "popup": //팝업 OPEN
XitProgramMng.pagePopup(flag, url, params);
this.pagePopup(flag, url, params);
break;
default:
break;
@ -293,14 +286,14 @@ var XitProgramMng = {
-상세 팝업을 OPEN 한다.
======================== */
fnClickProgramBtn: function(props){
<%--
var rowData = props.grid.getRow(props.rowKey);
var params = "";
params += "progrmFileNm=" + rowData.progrmFileNm;
XitProgramMng.pagePopup('detail', "<c:url value='/framework/biz/mng/menu/ProgramMng_edit.do'/>", params);
--%>
mngProgramMgtForm.pagePopup('detail', "<c:url value='/framework/biz/mng/menu/program_edit.do'/>", params);
<%--
let rowData = props.grid.getRow(props.rowKey);
CmmPopup.open('<c:url value="/framework/biz/mng/menu/program_edit.do"/>',
{
@ -313,18 +306,13 @@ var XitProgramMng = {
},
'프로그램 상세'
)
--%>
}
}
}
// initialize
$(document).ready(function(){
mngProgramMgtForm.init();
});
</script>

@ -8,9 +8,9 @@
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do"/>"></script>
<validator:javascript formName="progrmManageVO" staticJavascript="false" xhtml="true" cdata="false"/>
<form:form commandName="progrmManageVO" action="/_mng_/menu/program/ProgramMng_update_proc.do">
<script type="text/javascript" src="<c:url value="/framework/util/validator.do"/>"></script>
<!--validator:javascript formName="progrmMngVO" staticJavascript="false" xhtml="true" cdata="false"/-->
<form:form commandName="progrmMngVO">
<div class="popup" style="min-width: 700px;">
<div class="popup_inner" style="max-width:700px;">
@ -21,7 +21,7 @@
<th width="20%" height="23" class="required_text" scope="row"><label for="progrmFileNm">프로그램파일명</label>
<img src="<c:url value='/'/>resourcesimages/required.gif" width="15" height="15" alt="필수"></th>
<td width="80%" nowrap="nowrap">
<input type="text" disabled="disabled" value="<c:out value="${progrmManageVO.progrmFileNm }"/>" >
<input type="text" disabled="disabled" value="<c:out value="${progrmMngVO.progrmFileNm }"/>" >
<form:input path="progrmFileNm" size="50" maxlength="50" title="프로그램파일명" cssStyle="display:none" />
<form:errors path="progrmFileNm"/>
</td>
@ -60,7 +60,7 @@
</table>
<div class="popup_btn">
<span class="flr" colspan="4">
<a href="#LINK" class="btn blue" id="update_btn">수정</a>
<a href="#LINK" class="btn blue" id="btnUpdate">수정</a>
<a href="#" class="btn lightgray" id="btnClose">닫기</a>
</span>
</div>
@ -89,10 +89,10 @@ $(document).ready(function(){
//저장 버튼 Event 설정
$('#btnSave').on({
click: function(){
XitProgramMng_edit.addData();
this.addData();
}
});
$('#update_btn').on({
$('#btnUpdate').on({
click: function(){
XitProgramMng_edit.modifyData();
}
@ -110,10 +110,10 @@ $(document).ready(function(){
* 데이터 등록
======================== */
addData : function(){
if(!validateProgrmManageVO(document.getElementById("progrmManageVO")))
if(!validateProgrmManageVO(document.getElementById("progrmMngVO")))
return;
var varFrom = document.getElementById("progrmManageVO");
var varFrom = document.getElementById("progrmMngVO");
if(confirm("저장 하시겠습니까?")){
var param = $(varFrom).serialize();
$.ajax({
@ -123,7 +123,7 @@ $(document).ready(function(){
dataType : "json",
success : function(data) {
alert(data.resp.resultMsg);
window.opener.XitProgramMng_list.findData();
window.opener.mngProgramMgtForm.findData();
window.close();
},
error: function(){
@ -136,20 +136,21 @@ $(document).ready(function(){
* 데이터 수정
======================== */
,modifyData : function(){
if(!validateProgrmManageVO(document.getElementById("progrmManageVO")))
return;
//if(!validateProgrmManageVO(document.getElementById("progrmMngVO")))
// return;
var varFrom = document.getElementById("progrmManageVO");
var varFrom = document.getElementById("progrmMngVO");
if(confirm("수정 하시겠습니까?")){
var param = $(varFrom).serialize();
$.ajax({
url : "<c:url value='/'/>_mng_/menu/program/ProgramMng_update_proc.do",
<%--url : "<c:url value='/'/>framework/biz/mng/menu/program_update_proc.do",--%>
url : "<c:url value='/'/>framework/biz/mng/menu/updateProgram.do",
data : param,
type : "post",
dataType : "json",
success : function(data) {
alert(data.resp.resultMsg);
window.opener.XitProgramMng_list.findData();
window.opener.mngProgramMgtForm.findData();
window.close();
},
error: function(){
@ -162,7 +163,7 @@ $(document).ready(function(){
* 데이터 삭제
======================== */
,removeData : function(){
var varFrom = document.getElementById("progrmManageVO");
var varFrom = document.getElementById("progrmMngVO");
if(confirm("삭제 하시겠습니까?")){
var param = $(varFrom).serialize();
$.ajax({
@ -172,7 +173,8 @@ $(document).ready(function(){
dataType : "json",
success : function(data) {
alert(data.resp.resultMsg);
window.opener.XitProgramMng_list.findData();
console.log(data)
window.opener.findData();//.mngProgramMgtForm.findData();
window.close();
},
error: function(){

@ -10,8 +10,8 @@
<c:url var="ImgUrl" value="/images"/>
<script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do"/>"></script>
<validator:javascript formName="progrmManageVO" staticJavascript="false" xhtml="true" cdata="false"/>
<form:form commandName="progrmManageVO" action="">
<validator:javascript formName="progrmMngVO" staticJavascript="false" xhtml="true" cdata="false"/>
<form:form commandName="progrmMngVO" action="">
<div class="popup" style="min-width: 700px;">
<div class="popup_inner" style="max-width:700px;">
@ -117,10 +117,10 @@ $(document).ready(function(){
* 데이터 등록
======================== */
addData : function(){
if(!validateProgrmManageVO(document.getElementById("progrmManageVO")))
if(!validateProgrmManageVO(document.getElementById("progrmMngVO")))
return;
var varFrom = document.getElementById("progrmManageVO");
var varFrom = document.getElementById("progrmMngVO");
if(confirm("저장 하시겠습니까?")){
var param = $(varFrom).serialize();
$.ajax({
@ -143,10 +143,10 @@ $(document).ready(function(){
* 데이터 수정
======================== */
,modifyData : function(){
if(!validateProgrmManageVO(document.getElementById("progrmManageVO")))
if(!validateProgrmManageVO(document.getElementById("progrmMngVO")))
return;
var varFrom = document.getElementById("progrmManageVO");
var varFrom = document.getElementById("progrmMngVO");
if(confirm("수정 하시겠습니까?")){
var param = $(varFrom).serialize();
$.ajax({
@ -169,7 +169,7 @@ $(document).ready(function(){
* 데이터 삭제
======================== */
,removeData : function(){
var varFrom = document.getElementById("progrmManageVO");
var varFrom = document.getElementById("progrmMngVO");
if(confirm("삭제 하시겠습니까?")){
var param = $(varFrom).serialize();
$.ajax({

@ -12,7 +12,7 @@
caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;}
</style>
<script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do"/>"></script>
<validator:javascript formName="progrmManageVO" staticJavascript="false" xhtml="true" cdata="false"/>
<validator:javascript formName="progrmMngVO" staticJavascript="false" xhtml="true" cdata="false"/>
<script language="javascript1.2" type="text/javaScript">
/* ********************************************************
* 수정처리 함수
@ -62,14 +62,14 @@ function selectList(){
<div id="search_field">
<div id="search_field_loc"><h2><strong>프로그램목록 상세조회 /수정</strong></h2></div>
</div>
<form:form commandName="progrmManageVO" action="/_mng_/menu/program/ProgramMng_update_proc.do">
<form:form commandName="progrmMngVO" action="/_mng_/menu/program/ProgramMng_update_proc.do">
<div class="modify_user" >
<table summary="프로그램목록 상세조회 /수정">
<tr>
<th width="20%" height="23" class="required_text" scope="row"><label for="progrmFileNm">프로그램파일명</label>
<img src="${ImgUrl}/required.gif" width="15" height="15" alt="필수"></th>
<td width="80%" nowrap="nowrap">
<input type="text" disabled="disabled" value="<c:out value="${progrmManageVO.progrmFileNm }"/>" >
<input type="text" disabled="disabled" value="<c:out value="${progrmMngVO.progrmFileNm }"/>" >
<form:input path="progrmFileNm" size="50" maxlength="50" title="프로그램파일명" cssStyle="display:none" />
<form:errors path="progrmFileNm"/>
</td>
@ -118,11 +118,11 @@ function selectList(){
</td>
<td width="10"></td>
<td>
<a href="#LINK" onclick="javascript:updateProgramListManage(document.getElementById('progrmManageVO')); return false;"><spring:message code="button.save" /></a>
<a href="#LINK" onclick="javascript:updateProgramListManage(document.getElementById('progrmMngVO')); return false;"><spring:message code="button.save" /></a>
</td>
<td width="10"></td>
<td>
<a href="<c:url value='/_mng_/menu/program/ProgramMng_delete_proc.do'/>?progrmFileNm=<c:out value="${progrmManageVO.progrmFileNm }"/>" onclick="deleteProgramListManage(document.getElementById('progrmManageVO')); return false;"><spring:message code="button.delete" /></a>
<a href="<c:url value='/_mng_/menu/program/ProgramMng_delete_proc.do'/>?progrmFileNm=<c:out value="${progrmMngVO.progrmFileNm }"/>" onclick="deleteProgramListManage(document.getElementById('progrmMngVO')); return false;"><spring:message code="button.delete" /></a>
</td>
</tr>
</table>

@ -14,7 +14,7 @@
caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;}
</style>
<script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do" />"></script>
<validator:javascript formName="progrmManageVO" staticJavascript="false" xhtml="true" cdata="false"/>
<validator:javascript formName="progrmMngVO" staticJavascript="false" xhtml="true" cdata="false"/>
<script language="javascript1.2" type="text/javaScript">
/* ********************************************************
* 입력 처리 함수
@ -59,7 +59,7 @@ function selectList(){
<div id="search_field">
<!-- <div id="search_field_loc"><h2><strong>프로그램목록 등록</strong></h2></div> -->
</div>
<form:form commandName="progrmManageVO" action="/sym/prm/EgovProgramListRegist.do" method="post" >
<form:form commandName="progrmMngVO" action="/sym/prm/EgovProgramListRegist.do" method="post" >
<div class="modify_user" >
<table summary="프로그램목록 등록">
@ -116,7 +116,7 @@ function selectList(){
</td>
<td width="10"></td>
<td>
<a href="#LINK" onclick="javascript:insertProgramListManage(document.getElementById('progrmManageVO')); return false;"><spring:message code="button.save" /></a>
<a href="#LINK" onclick="javascript:insertProgramListManage(document.getElementById('progrmMngVO')); return false;"><spring:message code="button.save" /></a>
</td>
</tr>
</table>

Loading…
Cancel
Save