JAVA网页设计Taglib道理和完成:再论El和JSTL标签
C#跟java类似,但是在跨平台方面理论上可以跨平台,实际上应用不大,执行性能优于java,跟C++基本一致,但是启动速度还是慢.代码安全,但容易性能陷阱.js 成绩:你想和JSTL配合事情。好比,在用本人的标签处置一些逻辑以后,让JSTL处置余下的事情。看这个JSP例子:
<%
Stringname="diego";
request.setAttribute("name",name);
%>
<c:outvalue="${name}"/>
......
很多JSTL标签撑持El表达式,以是,只需你在本人的标签外部把值塞进request,其他jstl标签就可以利用它们
上面这个例子,从request内里获得对象,找到它属性的值,塞到request里往。
packagediegoyun;
importjavax.servlet.jsp.JspException;
importjavax.servlet.jsp.tagext.TagSupport;
importorg.apache.commons.beanutils.PropertyUtils;
importorg.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;
publicclassSetVarTagextendsTagSupport
{
privateObjectvalue=null;
privateStringproperty=null;
privateStringvar=null;
publicvoidsetVar(Stringvar)
{
this.var=var;
}
publicvoidsetProperty(Stringproperty)
{
this.property=property;
}
publicvoidsetValue(Objectvalue)throwsJspException{
this.value=ExpressionEvaluatorManager.evaluate("value",value.toString(),Object.class,this,pageContext);
}
publicintdoEndTag()throwsJspException{
ObjectpropertyValue=null;
try{
propertyValue=PropertyUtils.getProperty(value,property);
}
catch(Exceptione){
thrownewJspException(e);
}
pageContext.setAttribute(var,propertyValue);
returnEVAL_PAGE;
}
}
编写TLD
<!--SetVarTag-->
<tag>
<name>set</name>
<tag-class>diegoyun.SetVarTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
编写JSP
<%@pagelanguage="java"%>
<%@pageimport="diegoyun.vo.*"%>
<%@tagliburi="/WEB-INF/tlds/diego.tld"prefix="diego"%>
<%@tagliburi="/WEB-INF/tlds/c.tld"prefix="c"%>
<html>
<bodybgcolor="#FFFFFF">
<%
Manman=newMan();
man.setName("diego");
request.setAttribute("man",man);
%>
Getvaluefromrequestandsetitspropertyvalueintorequest:<br>
<diego:setvalue="${man}"property="name"var="myname"/>
nowuseOutTagofjstltaglibtogetthename:<br>
valueis:<c:outvalue="${myname}"/>
</body>
</html>
运转,效果以下:
Getvaluefromrequestandsetitspropertyvalueintorequest:
nowuseOutTagofjstltaglibtogetthename:
valueis:diego
停止语
和JSTL交互长短常有效的手艺。在JSTL里供应了很多完成基础功效的标签,如输入,轮回,前提选择等。仅在处置本人特定逻辑的时分才完成本人的标签,并供应和jstl交互,能年夜年夜进步重用性和削减事情量。
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.ckuyun.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
页:
[1]