JAVA/JSP学习系列之七_PHP教程
一、前言 (本文译自Orion官方站点)
本文将一步一步介绍在Orion Application Server下定义自己的标签,然后,实现该标签的功能,最后用一个jsp例子测试。
二、建立标签,实现该标签的功能。
1.命名package为:com.acme.mytags(为了和原文相同,我不做改动)
package com.acme.mytags;
2.import相关class
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
3.实现javax.servlet.jsp.tagext.Tag接口:
public class HelloWorld implements Tag
{
4.定义局部变量
private PageContext pageContext;
private Tag parent;
5.调用标签开始的实现方法
public int doStartTag() throws javax.servlet.jsp.JspException
{
return SKIP_BODY;
}
注意:这个方法返回 SKIP_BODY,就是标签的body为空的时候,将返回这个值,否则将返回:EVAL_BODY_INCLUDE
6.调用标签结束的实现方法
public int doEndTag() throws javax.servlet.jsp.JspException
{
try
{
pageContext.getOut().write('Hello World!');
}
catch(java.io.IOException e)
{
throw new JspException('IO Error: ' + e.getMessage());
}
return EVAL_PAGE;
}
这样将在jsp文件的自定义标签结束地方输出“Hello World!”
7.还不够,我们还要写下面的方法:
public void release() {}
对于本简单的例子,上面的方法不需要任何实现。
8.JSP的容器要调用下面的方法:
public void setPageContext(final javax.servlet.jsp.PageContext pageContext) {
this.pageContext=pageContext;
}
JSP容器通过上面的方法调用标签,而且上面的方法用来设置标签的PageContext.
9.JSP的容器还要调用下面的方法:
public void setParent(final javax.servlet.jsp.tagext.Tag parent)
{
this.parent=parent;
}
JSP容器通过上面的方法设置标签的parent-Tag,因为每个标签的PageContext都要保留它的parent标签。
10.最后,实现方法:
public javax.servlet.jsp.tagext.Tag getParent()
{
return parent;
}
}
11. 编译标签。
三、描叙标签
现在将要写一个描叙文件,描叙该标签。
1.建立一个taglib.tld文件,
2.taglib.tld是一个XML格式的文本文件,XML的头如下:
'http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd'>
3.描叙标签库
1.0
1.1
mt http://www.orionserver.com/tutorials/tagtut/lesson1/mytags.jar
My first Tag library
4.描叙标签
helloWorld
com.acme.mytags.HelloWorld
empty
A Hello world Tag
5.结束
四、打包
名称为:mytags.jar
其目录结构为:
com/acme/mytags/HelloWorld.class
META-INF/taglib.tld
五、在jsp文件中使用自定义标签
建立hello.jsp如下:
六、测试运行
在orion目录下,建立如下结构,其中,tag是自己建立的,前面的目录是本来就有的。
E:oriondefault-web-app ag
将jar文件和jsp文件全部放到这个目录下。
然后,访问:
http://localhost:[port]/tag/hello.jsp
将出现:
------------------------------------------------------------------
Hello World!
------------------------------------------------------------------
七、恭喜,你已经成功了!
附:mytags.jar和hello.jsp 文件本站下载地址:
http://www.wodejia.net/softdownload/java/orion_tag01.zip(出处:viphot.com)

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Panduan untuk Square Root di Java. Di sini kita membincangkan cara Square Root berfungsi di Java dengan contoh dan pelaksanaan kodnya masing-masing.

Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Panduan untuk Penjana Nombor Rawak di Jawa. Di sini kita membincangkan Fungsi dalam Java dengan contoh dan dua Penjana berbeza dengan contoh lain.

Panduan untuk Nombor Armstrong di Jawa. Di sini kita membincangkan pengenalan kepada nombor Armstrong di java bersama-sama dengan beberapa kod.

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah
