다음 두 파일을 저장해서 실행해 봅니다.
okjsp.xml |
<PRE><?xml version="1.0" encoding="euc-kr" ?> <?xml-stylesheet type="text/xsl" href="okjsp.xsl" ?> <phone> <member> <name>허광남</name> <title>아빠</title> </member> <member> <name>이달님</name> <title>엄마</title> </member> <member> <name>허예빈</name> <title>아들</title> </member> <member> <name>이진선</name> <title>친구</title> </member> <member> <name>허명남</name> <title>동생</title> </member> </phone></PRE>
|
okjsp.xsl |
<PRE><?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <html> <body> <table border="2" cellpadding="2"> <tr> <td>name</td> <td>title</td> </tr> <xsl:for-each select="phone/member"> <tr> <td><xsl:value-of select="name" /></td> <td><xsl:value-of select="title" /></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> </PRE>
|
source from www.e-campus.co.kr |
이 두 개의 파일을 톰캣(또는 웹서버)의 root 디렉토리(c:\jsphome) 에 위치시킵니다.
그 후에 톰캣을 띄우고 주소줄에 http://localhost/okjsp.xml 을 실행시킵니다.
IE 5 이상이라면 잘 보일 것입니다. 또는 클릭해서 보세요. 일반 웹서버에 올린 겁니다. [okjsp.xml]
마우스 오른버튼을 눌러서 메뉴 중에서 소스보기(V) 를 해보세요. table, tr, td 가
안 보이는데도 테이블이 잘 나왔죠. xml의 format을 지정해주는 xsl 이 있기 때문이죠.
xsl 에 따라서 okjsp.xml 의 내용은 그대로 두고 표현방식이 자유자재로 변할 수 있습니다.
그렇다면 xml 에 들어가는 data 들만 동적으로 생성을 해 낸다면 문제는 해결이 된 거겠죠.
동적으로 생성하려면 jsp도 가능하겠죠. 그런데 아래 소스를 웹서버에 놓고 실행해보세요. okjsp.xsl 은 그대로 사용합니다. 브라우저 주소줄에
http://localhost/okjsp.jsp 를 입력해서 확인해 보십시오.
확장자를 바꾸고 내용을동적으로 생성되도록 한 것입니다.
소스보기를 해보세요. 생성된 내용은 똑같죠.
하지만 웹브라우저에는 table 이 나타나지 않습니다.
okjsp.jsp |
<PRE><%@ page contentType="text/html;charset=euc-kr" %><% String [][] x = { {"허광남","아빠"}, {"이달님","엄마"}, {"허예빈","아들"}, {"이진선","친구"}, {"허명남","동생"}}; %><?xml version="1.0" encoding="euc-kr" ?> <?xml-stylesheet type="text/xsl" href="okjsp.xsl" ?> <phone><% for (int i=0;i<x.length;i++) { %> <member> <name><%=x[i][0] %></name> <title><%=x[i][1] %></title> </member><% } %> </phone></PRE> |
그냥
허광남 이달님 허예빈 이진선 허명남
이렇게 나오죠. 모가 문젤까요. parser 문제입니다. 다음 강좌에서 xml 파서를 설치하도록
하겠습니다.
2001-05-22 5:30오후
해결이 된 것 같기도 한데요. 헤더문제인 것 같습니다. page contentType="text/html;..."
부분에서 html 을 xml로 바꿔주세요. 그럼 아마 될 겁니다. 그래도 안되면 파서를 바꿔주세요.
|