仓酷云

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

[学习教程] 发布一篇Struts:自界说taglib的开辟

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:25:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
IDE是好。java中的IDE更是百花齐放,你用jbuilder能说jbuilder赶不上vs吗?用eclipse,net网页编程beans也很舒服啊。我就不明白“稍微差一些”那一些是从哪里差来的。
自界说标签必需完成上面三个接口中的一个:Tag、IterationTag、BodyTag
1.Tag
假如要完成这个接口,能够经由过程扩大TagSupport这个类,来写本人必要的办法,而不必要把Tag接口中的一切办法完成。
Tag接口的办法:doStartTag()、doEndTag()、getParent()、setParent()、release()、setPageContext()
在Tag类代码中不克不及像jsp一样,间接利用out隐含对象,他有一个对象可使用pageContext,经由过程它的getOut()办法能够失掉out对象。在标签外部,会见任何的隐含对象,都是经由过程挪用pageContext的set办法。
2.IterationTag
IterationTag接口与Tag接口相似,用于当一个自界说标签必要反复盘算它的代码体的情形下。它扩大Tag接口并完成了一个新的办法doAfterBody()来完成轮回,这个办法只要从doStartTag()前往EVAL_BODY_INCLUDE时才被挪用。在实行doAfterBody()办法时,假如前往的是EVAL_BODY_AGAIN,那末将再次实行doAfterBody()办法,直到doAfterBody()前往的是SKIP_BODY大概EVAL_BODY_INCLUDE.
3.BodyTag
BodyTag接口扩大了IterationTag并供应了对代码体内容举行操纵的功效。就是在盘算代码体的时分能够对已构成的代码体举行修正。BodyContent对象就是用来保留对自界说标签体盘算的了局。它有一个新办法doInitBody(),这个办法只要在doStartTag()办法前往EVAL_BODY_BUFFERED时才挪用,此时它将创立一个BodyContent对象保留了局。
扩大自界说标签:
增加属性
起首要在tld文件中到场一个属性元素,然后在java文件中必要界说这个属性和它的的setter办法。属性<attribute>元素有四个子元素分离是<name>、<required>、<rtexprvalue>、<description>,这里<rtexprvalue>暗示的是属性是不是承受scriptlet表达式的盘算了局,默许情形下为false,即只能承受静态值。
增加变量
能够在tld文件中给自界说标签到场一个<variable>元素,它的子元素包含<name-given>暗示保留变量的名字,<variable-class>暗示变量的java范例,<declared>用boolean暗示这个变量是不是为新的,<scope>暗示变量的利用局限(AT_BEGIN暗示从肇端标签起,AT_END暗示从停止标签后,NESTED暗示肇端标签和停止标签之间)。界说了变量以后,必要在java文件中把这个变量用pageContext.setAttribute("",object);这里key值应当就是变量对外的名字。
利用TagExtraInfo(TEI)类
这个对象中有两类对象可使用,TagData(保留标签属性的信息)、VariableInfo(形貌代码变量)
一段TagExtraInfo类代码实例:
publicVariableInfo[]getVariableInfo(TagDatadata){
  StringvariableName=data.getAttributeString("name");
  VariableInfovi=
   newVariableInfo(variableName,"String[]",true,VariableInfo.AT_END);
  VariableInfo[]tagVariables=newVariableInfo[1];
  tagVariables[0]=vi;
  returntagVariables;
 }
<p>
ruby里有这些工具吗?又要简单多少?我没有用过这两门语言,我估计在这些语言力没有很统一的这种标准,或者根本就没有提供。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-21 05:57:08 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-24 15:44:16 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-1-27 21:25:49 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
再见西城 该用户已被删除
5#
发表于 2015-2-5 09:41:34 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
老尸 该用户已被删除
6#
发表于 2015-2-9 03:14:00 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
简单生活 该用户已被删除
7#
发表于 2015-2-25 19:40:48 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
若相依 该用户已被删除
8#
发表于 2015-3-8 01:16:40 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
小魔女 该用户已被删除
9#
发表于 2015-3-12 11:15:24 | 只看该作者
是一种使用者不需花费很多时间学习的语言
再现理想 该用户已被删除
10#
发表于 2015-3-19 21:01:23 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
变相怪杰 该用户已被删除
11#
发表于 2015-4-2 20:41:19 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 11:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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