仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1777|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网页设计Taglib道理和完成

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:51:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。
Tag事实是甚么?怎样完成一个Tag?一个tag就是一个一般的java类,它唯一出格的地方是它必需承继TagSupport大概BodyTagSupport类。这两个类供应了一些办法,卖力jsp页面和你编写的类之间的交互,比方输出,输入。而这两个类是由jsp容器供应的,不必开辟职员本人完成。换句话说,你只需把完成了营业逻辑的类承继TagSupport大概BodyTagSupport,再做一些出格的事情,你的类就是一个Tag。而且它本人卖力和jsp页面的交互,不必你多费心。“出格的事情”一般有以下几个步骤:1)供应属性的set办法,今后这个属性就能够在jsp页面设置。以jstl标签为例c:outvalue=""/,这个value就是jsp数据到tag之间的出口。以是tag内里必需有一个setValue办法,详细的属性能够不叫value。比方setValue(Stringdata){this.data=data;}这个“value”的称号是在tld里界说的。取甚么名字都能够,只需tag里供应响应的set办法便可。2)处置doStartTag或doEndTag。这两个办法是TagSupport供应的。仍是以c:outvalue=""/为例,当jsp剖析这个标签的时分,在“<”处触发doStartTag事务,在“>”时触发doEndTag事务。一般在doStartTag里举行逻辑操纵,在doEndTag里把持输入。3)编写tld文件。4)在jsp页面导进tld。如许,你的jsp页面就能够利用本人的tag了。一般你会发明本人尽年夜多半举动都会合在doStartTag或doEndTag办法里。的确云云,熟习一些接口和类以后,写taglib很简单。正如《jsp计划》的作者所言:内里的逻辑略微有点庞大,但究竟没有火箭上天那末难。一个复杂的例子:OutputTag

packagediegoyun;importjavax.servlet.jsp.JspException;importjavax.servlet.jsp.JspWriter;importjavax.servlet.jsp.tagext.TagSupport;/***@authorchenys*/publicclassOutputTagextendsTagSupport{privateStringname=null;publicvoidsetName(Stringname){this.name=name;}publicintdoStartTag()throwsJspException{try{JspWriterout=pageContext.getOut();out.print("Hello!"+name);}catch(Exceptione){thrownewJspException(e);}returnEVAL_PAGE;}}
扼要申明:1怎样输入到jsp页面:挪用JspWriterJspWriterout=pageContext.getOut();out.print......记着这个办法就能够了。2输入后怎样作处置,函数会前往几个值之一。EVAL_PAGE暗示tag已处置终了,前往jsp页面。另有几个值,比方EVAL_BODY_AGAIN和EVAL_BODY_INCLUDE等,前面我们会作会商。编写tld
<?xmlversion="1.0"encoding="ISO-8859-1"?><!DOCTYPEtaglibPUBLIC"-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.2//EN""http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"><taglib><tlib-version>1.0</tlib-version><jsp-version>1.2</jsp-version><short-name>diego</short-name><!--OutputTag--><tag><name>out</name><tag-class>diegoyun.OutputTag</tag-class><body-content>empty</body-content><attribute><name>name</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute></tag></taglib>
在WEB-INF下新建tlds文件夹,把这个文件取名为diego.tld,放到tlds文件夹下。路径应当如许:WEB-INF        ldsdiego.tld关于tld的复杂申明:short-name:taglib的称号,也称为前缀。好比“c:outvalue=""/”里的“c”name:tag的名字。比方“c:outvalue=""/”里的"out”,我们的类也取名为out,因为有前缀作辨别,不会搅浑tag-class:详细的tag类。带包名body-content:指tag之间的内容。比方c:outvalue=""....../c肇端和封闭标签之间就是body-content。因为没有处置body-content,以是下面设为empty“attribute”里的name:属性名字。比方c:outvalue=""/里的value。名字可恣意取,只需类里供应响应的set办法便可。required:是不是必填属性。rtexprvalue:是不是撑持运转时表达式取值。这是tag的壮大功效。今后我们会会商。临时设为false编写jsp页面
<%@pagelanguage="java"%><%@tagliburi="/WEB-INF/tlds/diego.tld"prefix="diego"%><html><body>TestTag:<diego:outname="diegoyun"/></body></html>
我的编程情况是eclipse+tomcat.启动服务器,假如统统依照下面步骤的话,就可以看到TestTag:Hello!diegoyun字样。最复杂的tag就这么出来了。其实不难,是否是?(T111)
C#是盗用了Java的源代码,仿照开发的,原因是Java是开源的啊,盗了也白盗,还有一点,开发C#语言的团队是就是开发Java语言的团队,是微软重金挖过去的啊
透明 该用户已被删除
沙发
发表于 2015-1-18 21:05:13 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-24 09:39:17 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-1-31 19:12:07 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
深爱那片海 该用户已被删除
5#
发表于 2015-2-3 12:59:09 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
分手快乐 该用户已被删除
6#
 楼主| 发表于 2015-2-4 21:00:36 | 只看该作者
是一种突破用户端机器环境和CPU
小妖女 该用户已被删除
7#
发表于 2015-2-10 09:39:19 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
admin 该用户已被删除
8#
发表于 2015-2-11 19:48:51 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
活着的死人 该用户已被删除
9#
发表于 2015-3-1 03:35:24 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
海妖 该用户已被删除
10#
发表于 2015-3-1 13:05:57 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
精灵巫婆 该用户已被删除
11#
发表于 2015-3-4 19:25:32 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
谁可相欹 该用户已被删除
12#
发表于 2015-3-8 16:52:38 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
再见西城 该用户已被删除
13#
发表于 2015-3-16 06:21:01 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
飘飘悠悠 该用户已被删除
14#
发表于 2015-3-21 05:19:38 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
飘灵儿 该用户已被删除
15#
发表于 2015-3-22 17:24:37 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
16#
发表于 2015-3-29 03:51:41 | 只看该作者
是一种为 Internet发展的计算机语言
简单生活 该用户已被删除
17#
发表于 2015-4-4 23:59:16 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
冷月葬花魂 该用户已被删除
18#
发表于 2015-4-25 18:03:17 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
小女巫 该用户已被删除
19#
发表于 2015-5-1 04:10:00 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
不帅 该用户已被删除
20#
发表于 2015-5-5 23:28:41 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-30 01:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表