`
summer_021
  • 浏览: 57932 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts1_学习笔记5_struts0400_jstl_格式化库_函数库

 
阅读更多
jstl标签库的配置
* 将jstl.jar和standard.jar拷贝到WEB-INF/lib下(如果使用el表达式,不用拷贝这两个jar)

注意:jstl必须在能够支持j2ee1.4/servlet2.4/jsp2.0版本上的容器才能运行,这个环境
     是目前较为常用的环境

    
标签库的使用
* 采用taglib指令引入
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%> 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>


自定义函数库:
1、定义类和方法(方法必须是public static)
2、编写自定义tld文件,并且将此文件放到WEB-INF或WEB-INF任意子目录下
3、在jsp中采用taglib指令引入自定义函数库
4、采用 前缀+冒号+函数名 调用即可


1、格式化库:

页面代码:
<h1>测试jstl格式化库</h1>
	<hr>
	<li>测试日期的格式化</li><br>
	today(default):<fmt:formatDate value="${today}"/><br>
	today(type="date"):<fmt:formatDate value="${today}" type="date"/><br>
	today(type="time"):<fmt:formatDate value="${today}" type="time"/><br>
	today(type="both"):<fmt:formatDate value="${today}" type="both"/><br>
	today(dateStyle="short"):<fmt:formatDate value="${today}" dateStyle="short"/><br>
	today(dateStyle="medium"):<fmt:formatDate value="${today}" dateStyle="medium"/><br>
	today(dateStyle="long"):<fmt:formatDate value="${today}" dateStyle="long"/><br>
	today(dateStyle="full"):<fmt:formatDate value="${today}" dateStyle="full"/><br>
	today(pattern="yyyy/MM/dd HH:mm:ss"):<fmt:formatDate value="${today}" pattern="yyyy/MM/dd HH:mm:ss"/><br>
	today(pattern="yyyy/MM/dd HH:mm:ss"):<fmt:formatDate value="${today}" pattern="yyyy/MM/dd HH:mm:ss" var="d"/>${d }<br>
	today(pattern="yyyy/MM/dd HH:mm"):<fmt:formatDate value="${today}" pattern="yyyy/MM/dd HH:mm" /><br>
	<p>
	<li>测试数字的格式化</li><br>
	n(default):<fmt:formatNumber value="${n}"/><br>
	n(pattern="###,###.##"):<fmt:formatNumber value="${n}" pattern="###,###.##"/><br>
	n(pattern="###,###.0000"):<fmt:formatNumber value="${n}" pattern="###,###.0000"/><br>
	n(groupingUsed="false"):<fmt:formatNumber value="${n}" groupingUsed="false"/><br>
	n(minIntegerDigits="10"):<fmt:formatNumber value="${n}" minIntegerDigits="10"/><br>
	n(type="currency"):<fmt:formatNumber value="${n}" type="currency"/><br>
	n(type="currency"):<fmt:formatNumber value="${n}" type="currency" currencySymbol="$"/><br>
	n(type="percent"):<fmt:formatNumber value="${p}" type="percent" maxFractionDigits="2" minFractionDigits="2"/><br>



Action代码:
request.setAttribute("today", new Date());
		request.setAttribute("n", 123456.123);
		request.setAttribute("p", 0.12345);
		return mapping.findForward("success");


页面效果:
测试jstl格式化库

--------------------------------------------------------------------------------
•测试日期的格式化

today(default):2012-5-29
 today(type="date"):2012-5-29
 today(type="time"):14:43:39
 today(type="both"):2012-5-29 14:43:39
 today(dateStyle="short"):12-5-29
 today(dateStyle="medium"):2012-5-29
 today(dateStyle="long"):2012年5月29日
today(dateStyle="full"):2012年5月29日 星期二
today(pattern="yyyy/MM/dd HH:mm:ss"):2012/05/29 14:43:39
 today(pattern="yyyy/MM/dd HH:mm:ss"):2012/05/29 14:43:39
 today(pattern="yyyy/MM/dd HH:mm"):2012/05/29 14:43


•测试数字的格式化

n(default):123,456.123
 n(pattern="###,###.##"):123,456.12
 n(pattern="###,###.0000"):123,456.1230
 n(groupingUsed="false"):123456.123
 n(minIntegerDigits="10"):0,000,123,456.123
 n(type="currency"):¥123,456.12
 n(type="currency"):$123,456.12
 n(type="percent"):12.34%





2、函数库

tld文件:myfunctions.tld. 放在web-inf下面
<?xml version="1.0" encoding="UTF-8" ?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
  version="2.0">
    
  <description>my functions library</description>
  <display-name>my functions</display-name>
  <tlib-version>1.0</tlib-version>
  <short-name>my</short-name>
  <uri>http://www.aowin.com/functions</uri>
  
  <function>
    <name>sayHello</name>
    <function-class>com.aowin.struts.MyFunctions</function-class>
    <function-signature>java.lang.String sayHello(java.lang.String)</function-signature>
  </function>
</taglib>


页面代码:
头部:<%@ taglib prefix="my" uri="http://www.aowin.com/functions"%> 

	<h1>测试jstl函数库</h1>
	<hr>
	hello.length=(jsp脚本):<%=((String)request.getAttribute("hello")).length() %><br>
	hello.length(jstl函数库,函数调用必须在el表达式中 前缀+冒号+函数名):${fn:length(hello) }<br>
	list.length:${fn:length(list) }<br>
	<p>
	<li>测试自定义函数库</li><br>
	${my:sayHello(name) }<br>


自己的函数类:
public class MyFunctions {
	
	/**
	 * 方法必须是public static
	 * @param name
	 * @return
	 */
	public static String sayHello(String name) {
		return "Hello " + name;
	}
}




Action代码:
request.setAttribute("hello", "hello world");
		List list = new ArrayList();
		list.add("t1");
		list.add("t2");
		request.setAttribute("list", list);
		request.setAttribute("name", "Tom");
		return mapping.findForward("success");


使用自己的函数库标签:一份Action类、一份函数类、一份tld文件


页面效果:
测试jstl函数库

--------------------------------------------------------------------------------
hello.length=(jsp脚本):11
 hello.length(jstl函数库,函数调用必须在el表达式中 前缀+冒号+函数名):11
 list.length:2


•测试自定义函数库

Hello Tom





页面处理选择下拉框选中技巧:

<select name="categoryId"  id="categoryId">
        	<c:forEach items="${categoryList}" var="ic" >
        		<c:set var="select" value=""/>
        		<c:if test="${ ic.id eq category.id}">
        			<c:set var="select" value="selected"/>
        		</c:if>
         		<option value="${ic.id}" ${ select }>${ic.name}</option>
        	</c:forEach>
        </select>
分享到:
评论

相关推荐

    Struts 2.1.8_学习源码

    Struts 2.1.8 学习源码内容 Struts2_01FirstDemo : 跑通第一个Struts2的实例 Struts2_02CURD : 关于Struts2的增、删、改和查 实际业务中数据来自数据库,从DAO层查询,本实例使用静态资源的方式模拟, 主要是关于...

    Ognl_JSTL_学习笔记.zip

    Core标签库包括循环、条件语句等基本控制结构,XML标签库用于处理XML文档,JDBC标签库简化了数据库操作,而JSTL函数库则提供了各种常用的字符串处理和格式化功能。JSTL的使用可以显著提高JSP代码的可读性和可维护性...

    Struts2_OGNL 笔记

    Struts2_OGNL笔记主要关注的是如何在Struts2框架中使用OGNL(Object-Graph Navigation Language)表达式语言。OGNL作为一种强大的表达式语言,常用于Struts2的视图层,允许开发者轻松地访问和操作Java对象的属性。 ...

    Struts标签库jstl.jar standard.jar

    2. **I18N & Format标签库**:支持国际化和格式化,如日期、货币和数字的显示。 3. **XML标签库**:用于处理XML文档,包括解析、转换和操作XML数据。 4. **SQL标签库**:用于执行数据库查询和操作。 5. **JDBC标签库...

    struts+jstl

    1. struts.jar:这是Struts框架的核心库,包含了所有必要的类和接口,用于实现Struts的功能。 2. standard.jar:这是JSTL的一部分,包含了JSTL的Core、HTML、XML、fmt、fn等标签库的实现。 3. commons-logging-1.1....

    ssh整合jar包_struts2.3.24_hibernate5.2.12_spring5.0.2_包含jstl和standard_共41个

    5. 整合Struts2和Spring:将Spring的Action实例化交给Struts2,使用Spring的Interceptor实现业务逻辑的拦截和处理。 这个资源提供的41个jar包应该包含了上述所有框架和库的依赖,以及可能需要的其他支持库,例如...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    struts2_crud.rar_Struts增删查改_struts2_struts2增删改查_struts增删改查_增删改查

    1. **配置文件**:主要包括`struts.xml`,这是Struts2的核心配置文件,用于定义Action、结果类型、拦截器等。例如,为每个CRUD操作创建一个Action,配置对应的URL和结果页面。 ```xml &lt;result name="success"&gt;/...

    Struts JSTL 源码学习

    fmt库用于格式化输出,fn库提供了许多实用函数,html库用于生成HTML表单元素,jsp库包含了JSP页面的基本操作,sql库处理数据库操作,而xml库则帮助处理XML数据。源码解析可以帮助我们理解这些标签的内部实现,以及...

    用于dreamweaver的标签提示和格式化.JSTL的c,fmt,x和struts2

    1. `TagLibraries.vtm`:这可能是一个Dreamweaver的自定义标签库文件,包含了对JSTL和Struts2标签的定义,使得在编辑JSP页面时能提供智能提示。 2. `Flash_Components`:可能包含了与Flash相关的组件或资源,虽然与...

    Struts2_访问web元素_accessWebElements_s

    5. **Struts2的Interceptor拦截器**:拦截器是Struts2的一个强大特性,可以在Action执行前后进行额外处理,比如验证、日志记录等。自定义拦截器可以通过实现`Interceptor`接口或继承`AbstractInterceptor`类来创建。...

    Struts标签 和jstl标签

    同时,JSTL的`&lt;fmt&gt;`库可用于日期和数字格式化,`&lt;fn&gt;`库则提供了一些实用的字符串和集合操作函数。 总的来说,Struts标签和JSTL标签都是提高Java Web开发效率的重要工具。通过熟练掌握并合理使用这两者,开发者...

    JSTL格式化日期(一个jstl写的格式化日期,有用的着的看看吧)

    在JSTL中,我们可以使用`fmt`标签库来格式化日期和时间,这在显示和处理日期数据时非常有用。 `fmt`标签库是JSTL的一个重要组成部分,它基于Java的`java.text.SimpleDateFormat`类,可以对日期进行各种格式化操作。...

    JSTL.rar_JSTL_JSTL下载

    1. **导入JSTL库**:首先需要在项目中引入JSTL的jar文件,通常包括`jstl.jar`和`standard.jar`。这两个文件可以在Apache Tomcat的lib目录下找到,或者从Maven仓库下载。 2. **配置web.xml**:在项目的`web.xml`文件...

    JSTL fmt_formatNumber 数字、货币格式化

    这里通过 `&lt;%@ taglib %&gt;` 指令导入了 JSTL 的核心库 (`core`) 和国际化/格式化库 (`fmt`)。 #### 三、`fmt:formatNumber` 基本用法 `&lt;fmt:formatNumber&gt;` 标签的主要作用是将一个数值(可以是 Java 表达式的结果...

    MultiFileUpload_Struts2_多文件上传

    在JSP页面中,可以使用EL(Expression Language)和JSTL标签库来动态渲染文件名或其他相关信息。 至于`.classpath`、`.mymetadata`、`.project`、`.settings`这些文件,它们是开发环境相关的配置文件,用于记录项目...

    struts 2 学习笔记

    - JSTL是标准标签库,包含多种标签集合,如核心标签库`&lt;c:...&gt;`用于逻辑判断和迭代,XML解析标签`&lt;x:...&gt;`,国际化标签`&lt;fmt:....&gt;`,数据库访问标签`&lt;sql:...&gt;`,以及函数标签`&lt;fn:...&gt;`。 7. **访问Web元素**: ...

    Struts_01源代码

    1. **05_struts_jstl**: 这个模块可能涉及到了JSTL(JavaServer Pages Standard Tag Library),它是一套用于JSP页面的标准标签库,包括核心标签、HTML标签、XML标签等。Struts与JSTL结合使用,可以减少JSP页面中的...

    JSTL的各种标签文件和struts的标签文件,带strtus.jar包

    JSTL的各种标签文件和struts的标签文件,带strtus.jar包c-1_0.tld,c-1_0-rt.tld,c.tld,fmt-1_0.tld,fmt-1_0-rt.tld,fmt.tld,fn.tld,permittedTaglibs.tldscriptfree.tld,sql-1_0.tld,sql-1_0-rt.tld,sql....

Global site tag (gtag.js) - Google Analytics