蒙在股里 发表于 2015-1-18 11:25:15

发布一篇Struts:自界说taglib的开辟

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;
  tagVariables=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。

再见西城 发表于 2015-2-5 09:41:34

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

老尸 发表于 2015-2-9 03:14:00

是一种语言,用以产生「小应用程序(Applet(s))

简单生活 发表于 2015-2-25 19:40:48

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

若相依 发表于 2015-3-8 01:16:40

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

小魔女 发表于 2015-3-12 11:15:24

是一种使用者不需花费很多时间学习的语言

再现理想 发表于 2015-3-19 21:01:23

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

变相怪杰 发表于 2015-4-2 20:41:19

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
页: [1]
查看完整版本: 发布一篇Struts:自界说taglib的开辟