JAVA网页设计使用JSP 2.0开辟Web使用程序2
在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。js|web|程序标签处置器JSP1.2中传统的标签处置API因为同意标签体中包括scriptlet而变得庞大,可是如今使用表达式言语能够编写不含scriptlet的JSP网页。终极,JSP2.0引进了一种新的标签扩大机制,称为“复杂标签扩大”,这类机制有两种利用体例:
[*]Java开辟职员能够界说完成接口javax.servlet.jsp.tagext.SimpleTag的类;
[*]不懂Java的网页编写职员则可使用标签文件。
起首来看第一种体例,代码示例6给出了一个复杂的标签处置器,它的感化仅仅是打印“Thisismyfirsttag!”。
代码示例6:HelloTag.java
packagejsp2.examples.simpletag;importjavax.servlet.jsp.JspException;
importjavax.servlet.jsp.tagext.SimpleTagSupport;importjava.io.IOException;/**
*SimpleTaghandlerthatprints"Thisismyfirsttag!"
*/
publicclassHelloTagextendsSimpleTagSupport{
publicvoiddoTag()throwsJspException,IOException{
getJspContext().getOut().write("Thisismyfirsttag!");
}
}编译乐成后,下一步就要在TLD中界说一个标签形貌符,上面是标签形貌符的例子。
代码示例7:标签形貌符
<tag>
<description>Printsthisismyfirsttag</description>
<name>hello</name>
<tag-class>jsp2.examples.simpletag.HelloTag</tag-class>
<body-content>empty</body-content>
</tag>最初再编写一个利用上述标签的JSP页面文件,见代码示例8。
代码示例8:helloworld.jsp
<%@taglibprefix="mytag"uri="/WEB-INF/jsp2/jsp2-example-taglib.tld"%>
<HTML>
<HEAD>
<TITLE>SimpleTagHandler</TITLE>
</HEAD><BODY>
<H2>SimpleTagHandler</H2>
<P>
<B>Myfirsttagprints</B>:<mytag:hello/>
</BODY>
</HTML>要运转这个例子:
[*]复制HelloTg.java并保留到C:Tomcat5.0webappsjsp-examplesWEB-INFclassesjsp2examplessimpletag下;
[*]利用javac编译HelloTag.java;
[*]把代码示例7中的标签形貌符增加到文件C:Tomcat5.0webappsjsp-examplesWEB-INFjsp2jsp2-example-taglib.tld中的</taglib>之前;
[*]复制helloworld.jsp并保留到c:Tomcat5.0webappsjsp-examplesjsp2-tutorial目次中;
[*]用扫瞄器翻开helloworld.jsp。
假如统统一般,应当会看到相似如所示的画面。
图4:复杂标签处置器
标签文件
利用复杂标签扩大机制的另外一种办法是经由过程标签文件。标签文件是一种资本文件,网页作者能够使用它抽取一段JSP代码,经由过程定制功效来完成代码的复用。换句话说,标签文件同意JSP网页作者利用JSP语法创立可复用的标签库。标签文件的扩大名必需是“.tag”。
为申明利用标签文件是何等简单,思索一下代码示例9。没错,这就是一个标签文件!
代码示例9:greetings.tag
Hellothere.Howareyoudoing?一旦界说了标签文件,就能够在JSP网页的编写中利用这类定制的功效。好比代码示例10中的JSP网页。
代码示例10:chat.jsp
<%@taglibprefix="tags"tagdir="/WEB-INF/tags"%>
<HTML>
<HEAD>
<TITLE>JSP2.0Examples-HelloWorldUsingaTagFile</TITLE>
</HEAD>
<BODY>
<H2>TagFileExample</H2>
<P>
<B>Theoutputofmyfirsttagfileis</B>:<tags:greetings/>
</BODY>
</HTML>要运转这个例子:
[*]复制标签文件greetings.tags并保留在c:Tomcat5.0webappsjsp-examplesWEB-INF ags目次下;
[*]复制JSP网页文件char.jsp并保留在c:Tomcat5.0webappsjsp-examplesjsp2-tutorial目次下;
[*]用扫瞄器翻开chat.jsp文件。
假如统统一般,应当会看到相似如所示的窗口。
图5:复杂的标签文件
注重:主要的是要注重到这里没无为问候标签编写TLD,而是创立了一个标签文件并放在特别的目次中,然后用taglib指令导进并间接利用它。
另外一个标签文件的例子
标签文件能够作为模板利用。思索代码示例11中的标签文件display.tag,这个例子是依据Tomcat5.0中的面板的例子改写的。指令attribute相似于TLD中的<attribute>元素,同意声明自界说的举措属性。
代码示例11:display.tag
<%@attributename="color"%>
<%@attributename="bgcolor"%>
<%@attributename="title"%>
<TABLEborder="0"bgcolor="${color}"><TR>
<TD><B>${title}</B></TD>
</TR>
<TR>
<TDbgcolor="${bgcolor}">
<jsp:doBody/>
</TD>
</TR>
</TABLE>代码示例12给出了利用上述标签的一个复杂的JSP页面。
代码示例12:newsportal.jsp
<%@taglibprefix="tags"tagdir="/WEB-INF/tags"%>
<HTML>
<HEAD>
<TITLE>AnotherTagFileExample</TITLE>
</HEAD>
<BODY>
<H2>NewsPortal:AnotherTagFileExample</H2>
<TABLEborder="0"><TRvalign="top">
<TD>
<tags:displaycolor="#ff0000"bgcolor="#ffc0c0"
title="Travel">
LastFrenchConcordeArrivesinNY<br/>
AnotherTravelHeadline<br/>
YetAnotherTravelHeadline<br/>
</tags:display>
</TD>
<TD>
<tags:displaycolor="#00fc00"bgcolor="#c0ffc0"
title="Technology">
Javaforin-flightentertainment<BR>
AnotherTechnologyHeadline<BR>
AnotherTechnologyHeadline<BR>
</tags:display>
</TD>
<TD>
<tags:displaycolor="#ffcc11"bgcolor="#ffffcc"
title="Sports">
AmericanFootball<BR/>
NBA<BR/>
Soccer<BR/>
</tags:display>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>要运转这个例子:
[*]复制文件display.tag并保留在c:Tomcat5.0webappsjsp-examplesWEB-INF ag下;
[*]复制文件newsportal.jsp并保留到c:Tomcat5.0webappsjsp-examplesjsp2-tutorial下;
[*]用扫瞄器翻开newsportal文件。
了局应当会失掉与相似的画面。
图6:把标签文件用作模板
结论
JSP2.0使得疾速开辟和保护静态网页比之前加倍简单,只管“Java”一词呈现在JSP中,但利用JSP2.0,网页作者不必进修Java程序言语自己,就可以开辟出全新的静态网页。本文中的例子申明了利用JSP2.0的新特征开辟静态网页是何等简单。
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 是一种使网页(Web Page)产生生动活泼画面的语言 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? Java 编程语言的风格十分接近C、C++语言。 是一种使用者不需花费很多时间学习的语言 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
页:
[1]