search
HomeBackend DevelopmentPHP TutorialJAVA/JSP Learning Series 7_PHP Tutorial

JAVA/JSP Learning Series 7_PHP Tutorial

Jul 21, 2016 pm 04:11 PM
javajsponestepintroducePrefaceexiststudyWillseries


1. Preface (This article is translated from the Orion official website)

This article will introduce step by step how to define your own tag under Orion Application Server, then implement the function of the tag, and finally test it with a jsp example.

2. Create a label and realize the function of the label.

1. Name the package: com.acme.mytags (in order to be consistent with the original text, I will not make changes)

package com.acme.mytags;

2.import Related classes

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*;

3. Implement javax.servlet.jsp.tagext .Tag interface:

public class HelloWorld implements Tag

{

4. Define local variables

private PageContext pageContext;

private Tag parent;

5. Call the tag start implementation method

public int doStartTag() throws javax.servlet.jsp.JspException

{

return SKIP_BODY;

}

Note: This method returns SKIP_BODY, that is, when the body of the tag is empty, this value will be returned, otherwise it will return: EVAL_BODY_INCLUDE

6. Call Implementation method of tag end

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;

}

This will The end of the custom tag of the jsp file outputs "Hello World!"

7. Not enough, we have to write the following method:

public void release() {}

For this simple example, the above method does not require any implementation.

8. The JSP container needs to call the following method:

public void setPageContext(final javax.servlet.jsp.PageContext pageContext) {

this.pageContext=pageContext;

}

The JSP container calls the tag through the above method, and the above method is used to set the PageContext of the tag.

9. The JSP container also calls the following method :

public void setParent(final javax.servlet.jsp.tagext.Tag parent)

{

this.parent=parent;

}

The JSP container sets the parent-Tag of the tag through the above method, because the PageContext of each tag must retain its parent tag.

10. Finally, the implementation method:

public javax.servlet.jsp.tagext.Tag getParent()

{

return parent;

}

}

11. Compile tag.

3. Description tag

Now you will write a description file to describe the tag.

1. Create a taglib.tld file,

2.taglib.tld is a text file in XML format. The XML header is as follows:


'http ://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd'>

3. Description tag library



1.0

1.1

mt http://www.orionserver.com/tutorials/tagtut/lesson1/mytags.jar

My first Tag library

4. Describe tags



helloWorld

com.acme.mytags.HelloWorld

empty

A Hello world Tag



5. End



4. Packaging

The name is: mytags.jar

The directory structure is:

com/acme/mytags/HelloWorld.class

META-INF/taglib.tld

5. Use custom tags

in the jsp file to create hello.jsp As follows:





















6. Test run

In the orion directory, create the following structure, in which the tag is created by yourself, and the previous directory is the original There is.

E:oriondefault-web-app ag

Put all jar files and jsp files in this directory.

Then, visit:

http://localhost:[port]/tag/hello.jsp

The following will appear:
------ -------------------------------------------------- ----------
Hello World!
-------------------------------- ----------------------------------

7. Congratulations, you have succeeded!

Attached: mytags.jar and hello.jsp files download address of this website:

http://www.wodejia.net/softdownload/java/orion_tag01.zip (Source: viphot.com )

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/313967.htmlTechArticle1. Foreword (This article is translated from the Orion official website) This article will introduce step by step how to define your own under Orion Application Server tag, then implement the function of the tag, and finally use a jsp example...
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Performance Tuning for High Traffic WebsitesPHP Performance Tuning for High Traffic WebsitesMay 14, 2025 am 12:13 AM

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

Dependency Injection in PHP: Code Examples for BeginnersDependency Injection in PHP: Code Examples for BeginnersMay 14, 2025 am 12:08 AM

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

PHP Performance: is it possible to optimize the application?PHP Performance: is it possible to optimize the application?May 14, 2025 am 12:04 AM

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

PHP Performance Optimization: The Ultimate GuidePHP Performance Optimization: The Ultimate GuideMay 14, 2025 am 12:02 AM

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools