Site Search :
Standard Enterprise XML Methodology Pattern Setting Tunning Other
Article Contributors
GuestBook
Javapattern Maven
XSourceGen Dev
JetSpeed Test
JLook Image
jLook Family Site


InvokeEJB Custom Tag Library implementation
 
JSP °³¹ß½Ã EBJ tierÀÇ stateless session beanÀÇ business method È£Ãâ¿¡´ëÇÑ code logicÀ» encapsulationÇÏ´Â Custom Tag Library ¼Ò°³¸¦ Çϸç Web tier¿Í EJB tier°£ °³¹ßÀÚ roleÀ» ¸íÈ®È÷ ºÐ¸®ÇÒ¼ö ÀÖ´Â ÀåÁ¡ Á¦°øÇÏ´Â tag lib¸¦ ¼Ò°³ÇÑ´Ù. ( 2003/03/10 ) 317
Written by specular - ÀüÈ«¼º
3 of 3
 



  ¾Õ¿¡¼­ InvokeEJBTag¿¡ ´ëÇÑ ±¸ÇöÄڵ带 »ìÆì º¸¾Ò°í, ´ÙÀ½Àº Tag Library Descriptor¸¦ º¸°Ú´Ù. TLD¸¦ Á¤ÀÇÇÒ¶§´Â °³¹ßÇÑ Custom TagÀÇ attributeµéÀÌ ¹Ýµå½Ã ÇÊ¿äÇÑ°¡¸¦ »ý°¢ÇØ º¸¸éµÈ´Ù. InvokeEJBTagÀÇ url, context´Â °³¹ßµÈ ¼Ò½ºÀÇ defualt °ªÀ» ÀÌ¿ëÇصµ µÇ±â¶§¹®¿¡ ¹Ýµå½Ã ÇÊ¿äÇÑ attribute´Â ¾Æ´Ï´Ù. ±×¸®°í, id, typeÀº return object¿¡ ´ëÇÑ »çÇ× ÀÓÀ¸·Î À̰͵µ ¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº ¾Æ´Ï´Ù. °á±¹, TLD´Â ´ÙÀ½°ú °°´Ù.

# javapattern-taglib_1_0.tld file
      
<?xml version="1.0" encoding="euc-kr" ?>
<!DOCTYPE taglib
 PUBLIC "-//Sun Microsystemes, Inc.//DTD JSP Tag Library 1.1//EN"
 "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">

<taglib>
	<tlibversion>1.0</tlibversion>
	<jspversion>1.1</jspversion>
	<shortname>javapattern</shortname>
	<uri></uri>
	<info>Jeon HongSeong tag library</info>


	<tag> 
		<name>invokeEjb</name>
		<tagclass>com.javapattern.servlet.jsp.InvokeEJBTag</tagclass>
		<teiclass>com.javapattern.servlet.jsp.InvokeEJBTEI</teiclass>
		<bodycontent>JSP</bodycontent>
		<info>invokeEjb Tag Handler</info>
		<attribute>
			<name>id</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>type</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>jndiName</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>context</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>context</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>url</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>method</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag> 
		<name>param</name>
		<tagclass>com.javapattern.servlet.jsp.InvokeParamTag</tagclass>
		<teiclass>com.javapattern.servlet.jsp.InvokeParamTEI</teiclass>
		<bodycontent>empty</bodycontent>
		<info>invokeEjb ParamTag Handler</info>
		<attribute>
			<name>name</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>value</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>
</taglib>


  ´ÙÀ½Àº InvokeEJBTag¿¡ ´ëÇÑ °£´ÜÇÑ JSP ¿¹Á¦ ¼Ò½ºÀÔ´Ï´Ù.

            
<%@ taglib uri="/WEB-INF/tld/javapattern-taglib_1_0.tld" prefix="javapattern" %>

<% String name="HongSeong"; %>

<javapattern:invokeEjb	jndiName="MyEcho" 
			url="t3://127.0.0.1:7001/" 
			method="sayEcho" 
			id="result" 
			type="java.lang.String">
	<javapattern:param name="java.lang.String" value="<%= name %>"/>
</javapattern:invokeEjb>

<b>
<%= result %>
</b>

  Áö±Ý±îÁö EJB Statless Session BeanÀÇ Business methodÀÇ È£Ãâ¿¡ ´ëÇÑ ÄÚµå ·ÎÁ÷À» EncapsulationÇÔÀ¸·Î½á, EJB È£Ãâ¹æ¹ýÀÇ ÀÏ°ü¼ºÀ» Á¦°øÇÏ°í, EJB system°úÀÇ depedency¸¦ ÁÙÀÓÀ¸·Î½á, °³¹ßÀÚÀÇ roleÀ» ¸íÈ®ÀÌ ³ª´­¼ö ÀÖ´Ù´Â ÀåÁ¡À» Á¦°øÇÏ´Â Custom Tag Library¿¡ ´ëÇØ »ìÆì ºÃ´Ù. ÀÌ InvokeEJBTag¸¦ Á» °³¼± ÇÑ´Ù¸é, EJBObject¿¡ ´ëÇÑ Handle °´Ã¼¸¦ CachingÇÏ´Â ±â´ÉÀ» Ãß°¡ÇÒ¼ö ÀÖ°Ú´Ù. EJB Business method¸¦ ¸Å¹ø È£ÃâÇÒ¶§¸¶´Ù JNDI Naming service¿¡ access ÇÏ´Â ÀÛ¾÷À» ÁÙÀÓÀ¸·Î½á, performance¸¦ °³¼±ÇÒ¼ö ÀÖ°ÚÁÒ.



2001.08.03 written by Jeon HongSeong

 
 
1 2 3
References
 
http://java.sun.com/taglib
Copyright ¨Ï 2003 www.javapattern.info & www.jlook.com, an jLOOK co.,LTD