본문 바로가기

Job/Web

[Jsp] XML 리턴 테스트

[Jsp] XML 리턴 테스트


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="cms.etc.EtcCreativeLunch_DAO" %>

<%@ page import="cms.etc.EtcCreativeLunch_DTO" %>


<%@ page import="java.util.Properties" %>

<%@ page import="java.io.StringWriter" %>

<%@ page import="org.w3c.dom.Document" %>

<%@ page import="org.w3c.dom.Element" %>

<%@ page import="org.w3c.dom.Text" %>

<%@ page import="javax.xml.parsers.DocumentBuilderFactory" %>

<%@ page import="javax.xml.parsers.DocumentBuilder" %>

<%@ page import="javax.xml.transform.TransformerFactory" %>

<%@ page import="javax.xml.transform.OutputKeys" %>

<%@ page import="javax.xml.transform.Transformer" %>

<%@ page import="javax.xml.transform.dom.DOMSource" %>

<%@ page import="javax.xml.transform.stream.StreamResult" %>


<%

String action  = request.getParameter("action");

try{

EtcCreativeLunch_DAO etcDAO = new EtcCreativeLunch_DAO();

if("inqr".equals(action)){

String reg_sqn = request.getParameter("reg_sqn");

String tel_no = request.getParameter("tel_no");

String eml_addr = request.getParameter("eml_addr");

String registerYN = etcDAO.inqrCreativeLunch(reg_sqn,tel_no,eml_addr);

//json type 으로 리턴

out.println("{'result':'"+registerYN+"'}");

StringBuffer sb = new StringBuffer();

sb.append("<?xml version='1.0' encoding='UTF-8'?> \n");

sb.append("<root> \n");

sb.append("<data> \n");

sb.append("<result>Y</result> \n");

sb.append("</data> \n");

sb.append("</root> \n");

//out.println(sb.toString());

// xml 만들기 

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document doc = builder.newDocument();

// root 엘리먼트 생성

Element root = doc.createElement("root");

doc.appendChild(root);

// root 밑 dto Node 생성 

Element data = doc.createElement("data");

root.appendChild(data);

Element result = doc.createElement("result");

data.appendChild(result);

Text nodeVal = doc.createTextNode("Y");

result.appendChild(nodeVal);

//출력 

TransformerFactory transFactory = TransformerFactory.newInstance();

StringWriter sw = new StringWriter();

Properties output = new Properties();

output.setProperty(OutputKeys.INDENT,"yes");

output.setProperty(OutputKeys.ENCODING,"UTF-8");

Transformer transformer = transFactory.newTransformer();

transformer.setOutputProperties(output);

transformer.transform(new DOMSource(doc), new StreamResult(sw));

String toXML = sw.getBuffer().toString();

//out.println(toXML);


}else if("save".equals(action)){

EtcCreativeLunch_DTO etcDTO = new EtcCreativeLunch_DTO(request);

int rtn = etcDAO.insertCreativeLunch(etcDTO);

%>

<script language="javascript">

var result = <%=rtn%>;

if(0 < result){

alert("등록 되었습니다.");

window.close();

}else{

alert("등록 중 오류가 발생 했습니다.");

window.close();

}

</script>

<%

}

}catch(Exception e){

e.getStackTrace();

}

%>