|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的js1、媒介(本文译自Orion官方站点)
本文将一步一步先容在OrionApplicationServer下界说本人的标签,然后,完成该标签的功效,最初用一个jsp例子测试。
2、创建标签,完成该标签的功效。
1.定名package为:com.acme.mytags(为了和原文不异,我不做修改)
packagecom.acme.mytags;
2.import相干class
importjavax.servlet.jsp.*;
importjavax.servlet.jsp.tagext.*;
3.完成javax.servlet.jsp.tagext.Tag接口:
publicclassHelloWorldimplementsTag
{
4.界说部分变量
privatePageContextpageContext;
privateTagparent;
5.挪用标签入手下手的完成办法
publicintdoStartTag()throwsjavax.servlet.jsp.JspException
{
returnSKIP_BODY;
}
注重:这个办法前往SKIP_BODY,就是标签的body为空的时分,将前往这个值,不然将前往:EVAL_BODY_INCLUDE
6.挪用标签停止的完成办法
publicintdoEndTag()throwsjavax.servlet.jsp.JspException
{
try
{
pageContext.getOut().write("HelloWorld!");
}
catch(java.io.IOExceptione)
{
thrownewJspException("IOError:"+e.getMessage());
}
returnEVAL_PAGE;
}
如许将在jsp文件的自界说标签停止中央输入“HelloWorld!”
7.还不敷,我们还要写上面的办法:
publicvoidrelease(){}
关于本复杂的例子,下面的办法不必要任何完成。
8.JSP的容器要挪用上面的办法:
publicvoidsetPageContext(finaljavax.servlet.jsp.PageContextpageContext){
this.pageContext=pageContext;
}
JSP容器经由过程下面的办法挪用标签,并且下面的办法用来设置标签的PageContext.
9.JSP的容器还要挪用上面的办法:
publicvoidsetParent(finaljavax.servlet.jsp.tagext.Tagparent)
{
this.parent=parent;
}
JSP容器经由过程下面的办法设置标签的parent-Tag,由于每一个标签的PageContext都要保存它的parent标签。
10.最初,完成办法:
publicjavax.servlet.jsp.tagext.TaggetParent()
{
returnparent;
}
}
11.编译标签。
3、描叙标签
如今将要写一个描序文件,描叙该标签。
1.创建一个taglib.tld文件,
2.taglib.tld是一个XML格局的文本文件,XML的头以下:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEtaglibPUBLIC"-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
3.描叙标签库
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>mt</shortname><uri>http://www.orionserver.com/tutorials/tagtut/lesson1/mytags.jar</uri>
<info>MyfirstTaglibrary</info>
4.描叙标签
<tag>
<name>helloWorld</name>
<tagclass>com.acme.mytags.HelloWorld</tagclass>
<bodycontent>empty</bodycontent>
<info>AHelloworldTag</info>
</tag>
5.停止
</taglib>
4、打包
称号为:mytags.jar
其目次布局为:
com/acme/mytags/HelloWorld.class
META-INF/taglib.tld
5、在jsp文件中利用自界说标签
创建hello.jsp以下:
<%@tagliburi="mytags.jar"prefix="mt"%>
<HTML>
<HEAD>
<TITLE>HelloWorld!</TITLE>
</HEAD><BODYBGCOLOR="#FFFFFF">
<HR>
<mt:helloWorld/>
<HR>
</BODY>
</HTML>
6、测试运转
在orion目次下,创建以下布局,个中,tag是本人创建的,后面的目次是原本就有的。
E:oriondefault-web-app ag
将jar文件和jsp文件全体放到这个目次下。
然后,会见:
http://localhost:[port]/tag/hello.jsp
将呈现:
------------------------------------------------------------------
HelloWorld!
------------------------------------------------------------------
7、祝贺,你已乐成了!
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net也不过3,4本书足以,这就是区别。 |
|