간단한 주사위 게임
TLD(Tag Library Descriptor) 를 이용한 간단한 주사위 게임이다.페이지를 열거나 새로고침(F5)를 할때마다 1부터 6까지중 한 숫자가 랜덤으로 출력된다. 구조 : JSP가 실행되면(즉 요청이오면) ${mine : rollIt()} 구문을 실행하게 된다. rollIt()구문은 TLD 파일을 통해 함수를 정의한 클래스 DiceRoller의 rollDice() 함수를 요청한다. rollDice()에서 리턴되는 값을 화면상에 출력한다. 실행 결과 :
DiceRoller.java 소스 보기.
package foo; public class DiceRoller { public static int rollDice(){ return (int) ((Math.random() * 6) + 1); } }
Dice.tld 소스 보기.
<?xml version="1.0" encoding="ISO-8859-1" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web- jsptaglibraty_2_0.xsd" version="2.0"> <tlib-version>1.2</tlib-version> <uri>DiceFunctions</uri> <function> <name>rollIt</name> <function-class>foo.DiceRoller</function-class> <function-signature> int rollDice() </function-signature> </function> </taglib>
result.jsp 소스 보기.
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <%@ taglib prefix="mine" uri = "DiceFunctions" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>Insert title here</title> </head> <body> ${mine:rollIt() } </body> </html>
프로젝트 파일 P.S :
후... 간단한 프로그램인데 너무힘들었다.. 특히나 TLD파일을 넣는게.. 늘상 이클립스에서 새로 추가만 하다가.. 이클립스에서 지원 안해주는 파일을 넣을려고하니.. 인터넷 검색하고 책뒤지고.. 결국은 걍 메모장에다가 직접 손코딩을 했다. 휴.. 고생좀 했지만 다행이다. 간단한 프로그램이지만 TLD를 처음써본기념으로 올려봤다. 후.. 시간은 늦었지만 마음은 뿌듯하다.^^ 크리에이티브 커먼즈 라이선스
http://dynast.tistory.com/trackback/151