仓酷云

标题: JAVA网页设计Taglib道理和完成:再论El和JSTL标签 [打印本页]

作者: 若天明    时间: 2015-1-18 11:08
标题: 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这些工具的出来。
作者: 灵魂腐蚀    时间: 2015-1-20 15:02
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.ckuyun.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
作者: 分手快乐    时间: 2015-1-25 09:56
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者: 柔情似水    时间: 2015-2-2 20:26
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
作者: 山那边是海    时间: 2015-2-8 04:55
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
作者: 飘灵儿    时间: 2015-2-24 05:49
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者: 若天明    时间: 2015-3-7 11:29
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者: 兰色精灵    时间: 2015-3-15 02:33
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
作者: 老尸    时间: 2015-3-21 16:03
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2