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中提供了getset方法的属性。


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表达式来进行辅助工作,类似脚本的表达结构。也是直接在pagerequestsessionapplication中查找数据,可是不同的是直接返回的是在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.jarstandard.jar。迭代和条件推断、数据管理格式化、XML 操作以及数据库訪问。

通常EL表达式会配合使用。

 

环境配置


导入.jar


Jstl.jarstandard.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”]/>


 

后序

           JSTLstruts标签、EL表达式都是自己定义标签的一种,而ELservlet的标准,通常都会兼容使用,在一開始是为了来简化页面。杜绝页面java代码的出现;struts标签机JSTL都须要对应的jar包来配置,以及对应的uri定位资源引入。

jstl是相对的标准。而struts开发包也携带了jstljar包,查询资料有讲struts标签的性能相对jstl差点,详细还没有实践过。没有体会。总的来讲,都是标签库的一种。

详细使用。个人习惯结合项目标准来吧。

 

 




本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5031774.html,如需转载请自行联系原作者


相关文章
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
61 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
2月前
|
Java Maven Spring
Java Web 应用中,资源文件的位置和加载方式
在Java Web应用中,资源文件如配置文件、静态文件等通常放置在特定目录下,如WEB-INF或classes。通过类加载器或Servlet上下文路径可实现资源的加载与访问。正确管理资源位置与加载方式对应用的稳定性和可维护性至关重要。
64 6
|
2月前
|
存储 安全 搜索推荐
理解Session和Cookie:Java Web开发中的用户状态管理
理解Session和Cookie:Java Web开发中的用户状态管理
85 4
|
3月前
|
Oracle 安全 Java
Java 22 为开发人员带来了重大增强功能
Java 22 为开发人员带来了重大增强功能
51 9
|
2月前
|
Java 持续交付 项目管理
使用Maven进行项目管理:提高Java Web开发的效率
Maven 是一款强大的项目管理和构建自动化工具,广泛应用于Java社区。它通过依赖管理、构建生命周期管理、插件机制和多模块项目支持等功能,简化了项目的构建过程,提高了开发效率。本文将介绍Maven的核心功能及其在Java Web开发中的应用。
74 0
|
3月前
|
前端开发 Java API
JAVA Web 服务及底层框架原理
【10月更文挑战第1天】Java Web 服务是基于 Java 编程语言用于开发分布式网络应用程序的一种技术。它通常运行在 Web 服务器上,并通过 HTTP 协议与客户端进行通信。
53 1
WK
|
2月前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
123 0
|
4月前
|
前端开发 数据安全/隐私保护
【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
本文档详细介绍了HTML表单的多种元素及其用法,包括下拉菜单(`&lt;select&gt;` 和 `&lt;option&gt;`)、文本域(`&lt;textarea&gt;`)、标签解释(`&lt;label&gt;`)、各类按钮(`&lt;button&gt;`)及表单重置功能、无语义布局标签(`&lt;div&gt;` 和 `&lt;span&gt;`)以及字符实体的应用。此外,还提供了一个完整的注册信息表单案例,涵盖个人信息、教育经历和工作经历等部分,展示了如何综合运用上述元素构建实用的表单。
【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
|
4月前
|
XML JavaScript Java
NekoHTML 是一个基于Java的HTML扫描器和标签补全器
**NekoHTML** 是一个基于Java的HTML扫描器和标签补全器(tag balancer),由J. Andrew Clark开发。它主要用于解析HTML文档,并能够“修正”许多在编写HTML文档过程中常犯的错误,如增补缺失的父元素、自动用结束标签关闭相应的元素,以及处理不匹配的内嵌元素标签等。这使得程序能够以标准的XML接口来访问HTML文档中的信息。 ### NekoHTML的主要特点包括: 1. **错误修正**:能够自动修正HTML中的常见错误,如未闭合的标签等。 2. **DOM树生成**:将HTML源代码转化为DOM(Document Object Model)结构,便
|
4月前
|
前端开发 Windows
【前端web入门第一天】02 HTML图片标签 超链接标签 音频标签 视频标签
本文档详细介绍了HTML中的图片、超链接、音频和视频标签的使用方法。首先讲解了`&lt;img&gt;`标签的基本用法及其属性,包括如何使用相对路径和绝对路径。接着介绍了`&lt;a&gt;`标签,用于创建超链接,并展示了如何设置目标页面打开方式。最后,文档还涵盖了如何在网页中嵌入音频和视频文件,包括简化写法及常用属性。
67 13