java web开发人员经常使用标签
struts标签库
国际化配置
配置国际化
1.国际化配置
在struts自带的app中的struts-config.xml中的<message-resources
parameter="MessageResources"/>增加到项目中的配置文件里默觉得struts-config.xml。
2.国际化文件导入
MessageResources.properties(位于\struts-1.3.10\src\apps\blank\src\main\java\MessageResources.properties
),并将该文件放入项目文件的src下
在jsp文件头部分增加
<%@taglib uri="http://struts.apache.org/tags-bean"prefix="bean" %>
语法
hello标签: <bean:write name="hello"/>
这样就会显示在request设置的信息
Java
request.setAttribute("hello","cfltaglib");
分类
在struts1.3的版本号中,taglib分为: bean
htmllogic nested
每种标签的使用和定义说明在对应dtld文件里有相关的说明。tld文件是什么?打开文件能够看见,主要是一些xml配置,记录了该标签.
如:
版本 <tlib-version>1.3</tlib-version>
jsp版本 <jsp-version>1.2</jsp-version>
建议前缀使用名。当然也能够不使用它的建议。为了统一标准和开发的便利不妨和建议的一致或者整个项目开发组保持一致就可以。
<short-name>bean</short-name>
uri资源定位文件的地址<uri>http://struts.apache.org/tags-bean</uri>
这个即是用来訪问存放在struts服务server上的资源地址的。这个地址是tags-bean的资源定位地址。
当然和我们平时接触的url不一样。
tld的根文件夹是taglib,用来定义相应的标签的描写叙述放在子元素的tag元素中。相应的样例和使用说明。
Bean
用来訪问javabean中的定义的一些数据,而查找则是利用标签中的name来查找。查找的顺序是则是依照设置的scope里设置的范围来进行查找。
假设没有针对该标签设置特定的范围则查找的顺序则是page,request,
session, application。另外三中标签也是这样一个原理来进行查找和显示处理数据的。
1.输出文本
<bean:write name="hello"/>
2.格式化日期
<bean:write name="propertyname"format="yyyy-mm-dd" />
3.输出javabean对象属性
<bean:write name="beanname"property="property" />
Name:为javabean对象
property:为javabean中提供了get和set方法的属性。
Logic
运行逻辑推断,这里的逻辑推断仅限于用于数据显示的逻辑推断和后面关于业务的逻辑处理还是有差别的。标签着重的还是数据的显示。
引入<%@taglib uri="http://struts.apache.org/tags-logic"prefix="bean" %>
1.是否为空
<logic:empty name="hello">
当为空时进入这里进行推断
</logic:empty>
<logic:empty name="hello">
当不为空是则进入这里进行推断
</logic:empty>
类似的还有logic:present
2.迭代器
<logic:iterate name="listname">
</logic:iterate>
事实上显示大都一致。无非是在后台对对应的变量在javabean内配置对应的数据就可以。
Html
主要是用来配置前端表单显示的标签库,使用起来非常是方便。
如:<html:button />则会构造一个按钮。有点类似在.net中的asp空间,<asp:button/>让我有点恍如昨天还在.net中的赶脚。
很多其它:http://www.360doc.com/content/13/1227/16/1007797_340571617.shtml
EL表达式
在struts1.x中还配用了EL表达式来进行辅助工作,类似脚本的表达结构。也是直接在page、request、session、application中查找数据,可是不同的是直接返回的是在javabean中设置的对象类型。
设置的是何种数据类型就返回什么样的数据类型。
当然也是能够直接訪问在javabean的对象的属性数据的。
语法:
${ name} or ${javabean.property}
使用起来相对简单,用户不用考虑数据的类型直接使用。而后struts2由于安全问题。不能嵌套使用EL表达式了。可是在html标签中还是可以使用。struts使用的是OGNI表达式,一种lambda的表达方式,可是也可以兼容普通的写法。
后面的文章会解释使用。
也就是<s:url id="selectData1"value="${pageContext.request.contextPath}这样是不能够的。而<span>${name}</span>还是能够使用的。另外在页面也能够启用表达式,----<%@ page isELIgnored="false" %> 启用EL表达式。jsp2.0默认是启用的。
el还涉及到操作符。也可以完毕类似struts1.x标签库的效果。很多其它:http://www.blogjava.net/supercrsky/articles/179363.html。
JSTL
Jsp standard taglibrary一个不断完好的开源标签库。包含core
fmt sql tlv四个标签库。
使用时须要引用到两个jar包,jstl.jar和standard.jar。迭代和条件推断、数据管理格式化、XML
操作以及数据库訪问。
通常EL表达式会配合使用。
环境配置
导入.jar包
Jstl.jar和standard.jar
导入uri资源文件
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="h"%>。这里我自己定义写成了h,当然普通情况还是推荐写为c。
分类
Core
主要用于显示数据,能够替代 out或者 <%=%> 标签来输出对象的值。类似struts中的write
demo
<li>測试jstl核心库</li>
<br>
<li>普通表达式</li>
<br>
<h:out value="123普通文本显示" />
<li>结合EL表达式显示在servlet中设置的属性</li>
<br> :
<h:out value="${hello}" />
<li>当显示为空时,显示对应的缺省值</li>
<br> :
<h:out value="${hellodefault }" default="没有值" />
<li>显示html字符串</li>
<br> :显示html效果 :${zi }
<br> :利用核心库标签直接显示html :
<h:out value="${zi }" escapeXml="true" />
<br>
<p>H:set & H:remove 设置变量及移除</li>
<b r>
:<h:set value="setVal" var="setID" />显示在set中的value“setVal” :
${setID }
<li>if条件控制</li>
<br>
<h:if test="${V1 lt V2 }">
:v1 小于 vs
</h:if>
<p>
循环控制
<li>传统jsp方式载入表格数据</li>
<br>
<%
List userList = (List) request.getAttribute("user");
%>
<table border="1">
<tr>
<td>name</td>
<td>age</td>
<td>height</td>
</tr>
<%if(userList==null || userList.size()==0){ %>
<tr>
<td colspan=3>对不起,没有数据! </td>
</tr>
<%}else{
for(Iterator iter=userList.iterator();iter.hasNext();){
People people =(People)iter.next();
%>
<tr>
<td><%=people.student.name%></td>
<td><%=people.student.age %></td>
<td><%=people.height %></td>
</tr>
<%
}
}
%> </table></body> <li>利用jstl标签显示表格数据</li>
<br>
<table border="1">
<tr>
<td>name</td>
<td>age</td>
<td>height</td>
</tr>
<h:choose>
<h:when test="${ empty user}">
<tr><td colspan=3>真的。该表格没有数据!</td></tr>
</h:when>
<h:otherwise>
<h:forEach items="${user}" var ="user" varStatus="vs">
<h:choose>
<h:when test="${vs.count mod 2==0 }">
<tr bgcolor="grey">
</h:when>
<h:otherwise>
<tr bgcolor="red">
</h:otherwise>
</h:choose>
<td>${user.student.name }</td>
<td>${user.student.age }</td>
<td>${user.height }</td>
</tr>
</h:forEach>
</h:otherwise>
</h:choose>
</table><br> <li>异常处理</li>
<h:catch var="msg">
<%
Integer.parseInt("shishi");
%>
</h:catch>
${msg }<br>
<p>
<li>import引入资源</li>
<h:import url="http://localhost:8080/drp3.0/login.jsp" />
<p>
<li>c:url,c:param演示指定url传值</li>
<p>
<h:url value="http://www.baidu.com" var="val">
<h:param name="userID" value="3"></h:param>
<h:param name="pwd" value="123456"></h:param>
</h:url>
${val }<br>
<li>url重定向</li>
Fmt
顾名思义就是针对格式化的处理
demo
<li>測试format日期</li>
<fmt:formatDate value="${riqi}" /><br>
<li>short格式日期</li>
<fmt:formatDate value="${riqi}" dateStyle="short"/>
<li>both格式日期</li>
<fmt:formatDate value="${riqi}" type="both"/>
Sql
直接在页面上针对数据库进行操作,当然一般这样的情况非常少使用,仅限特殊情况。
demo
建立数据库连接
<sql:setDataSourcedriver=”driverClass” url=”jdbcURL” user=”username” password=”pwd” [var=”name”] [scope=”page|request|session|application”]/>
后序
JSTL、struts标签、EL表达式都是自己定义标签的一种,而EL是servlet的标准,通常都会兼容使用,在一開始是为了来简化页面。杜绝页面java代码的出现;struts标签机JSTL都须要对应的jar包来配置,以及对应的uri定位资源引入。
jstl是相对的标准。而struts开发包也携带了jstl的jar包,查询资料有讲struts标签的性能相对jstl差点,详细还没有实践过。没有体会。总的来讲,都是标签库的一种。
详细使用。个人习惯结合项目标准来吧。
java web开发人员经常使用标签的更多相关文章
- 【Tomcat】面向初级 Web 开发人员的 Tomcat
Apache Tomcat 应用服务器不再是高级 Web 系统开发人员的专用领域.在本教程中,Sing Li 将向初级 Web 开发人员展示如何利用他们当前的 Java™ 开发技能,使用 Tomcat ...
- 个人的java web开发书单
首发至个人博客http://www.zidafone.com/blog/36 以下是对一些读过的书和一些买后随便翻了翻的书的个人感觉.都是java web开发的程序员可能接触的书,其他的如设计/手机开 ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- java web 开发三剑客 -------电子书
Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知In ...
- Java Web开发技术教程入门-JSP基本语法和九大内置对象
这两天气温逐渐升高,好想把自己泡在冰块里······ 恩嗯摁蒽恩嗯摁蒽恩嗯摁蒽恩嗯摁蒽.......今天阅读到了这本书的第四章-JSP基本语法.经过第一天的阅读,我们明白JSP技术是Java Web开 ...
- Web开发人员常犯的10个错误
说到开发一个运行在现代网络中的网站:Web开发人员需要选择虚拟主机平台和底层数据存储,准备编写HTML.CSS和JavaScript用的工具,要有设计执行方式,以及一些可用的JavaScript库/框 ...
- 作为一个web开发人员,哪些技术细节是在发布站点前你需要考虑到的
前日在cnblogs上看到一遍文章<每个程序员都必读的12篇文章>,其中大多数是E文的. 先译其中一篇web相关的”每个程序员必知之WEB开发”. 原文: http://programme ...
- Java Web开发之详解JSP
JSP作为Java Web开发中比较重要的技术,一般当作视图(View)的技术所使用,即用来展现页面.Servlet由于其本身不适合作为表现层技术,所以一般被当作控制器(Controller)所使用, ...
- Java Web开发介绍
转自:http://www.cnblogs.com/pythontesting/p/4963021.html Java Web开发介绍 简介 Java很好地支持web开发,在桌面上Eclipse RC ...
随机推荐
- eclipse如何查看类之间的引用关系
今天遇到这个问题:mark一点点: 在类名上单击右键.选择Reference->Workingspace快捷克债券Ctrl+Shift+G 版权声明:本文博客原创文章,博客,未经同意,不得转载.
- Ubuntu升级到14.04
公司网络实在太翔了,搞了一天最终成功把ubuntu从13.10升级到了14.10,中间也越到了非常多问题,记录下来,以备參考. 13.10的时候想体验一把搜狗输入法,结果因为fcitx版本号太低,用了 ...
- mina的编码和解码以及断包的处理,发送自己定义协议,仿qq聊天,发送xml或json
近期一段时间以来,mina非常火,和移动开发一样.异常的火爆.前面写了几篇移动开发的文章,都还不错.你们的鼓舞就是我最大的动力.好了,废话少说.我们来看下tcp通讯吧. tcp通讯对于java来说是非 ...
- iOS:点击button卡死
场景: 在tableView的Cell中有一个button,我须要点击这个button然后使得其视图控制器上的一个视图改变frame,可是我点击这个button后,导致卡死,也不崩溃.所有事 ...
- Docker 用法总结之:管理工具 shipyard 的具体使用指南
Docker 的命令行就已经非常好用了,假设非要加上基于 Web 的管理界面的话也有一些选择,如 DockerUI (Angular.js), Dockland (Ruby), Shipyard (P ...
- Kafka 协议实现中的内存优化
Kafka 协议实现中的内存优化 Kafka 协议实现中的内存优化 Jusfr 原创,转载请注明来自博客园 Request 与 Response 的响应格式 Request 与 Response ...
- aMule代码分析(2)——CFileDataIO类和CFile类
aMule中的类很多,Maixee今天选择了两个比较基础的类,均是跟文件操作有关的,分别是CFileDataIO类和CFile类.其中,前者是基类,后者由它派生而出的.具体的继承关系,可以参考这张图: ...
- H3C S5120交换机ACL应用的问题
下午在S5120上ACL的时候发现不起作用,ACL如下: acl number 3001 name deny-wan-to-lan-vpn rule 0 deny ip source 10.3.0.0 ...
- WPF自定义ListBox样式
<!--竖向--> <Style x:Key="ListBoxStyle1" TargetType="{x:Type ListBox}"> ...
- vs2008+opencv2.4.9 +win7X64位系统 2.
小编用自身血淋淋的例子,来给大家做个参考,共耗时近2天时间,终于屈服于安装vs2010,然后配置成功了.但是在这个配置成功后,我终于发现了我08配置不成功的原因,写下心得,供各位参考 1.准备工具 v ...