一、资源文件的配置(applicationResource_zh_CN.properties)
format.number = {0,number,###,###.##}
format.discount = {0,number,###.#######%}
二、struts.xml
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.action.extension" value="do"/>
<constant name="struts.custom.i18n.resources" value="applicationResource"></constant>
<package name="lee" extends="struts-default">
<action name="NumberFormatTest_*" class="com.zzk.test.NumberFormatTest" method="{1}">
<result name="test">/test_show.jsp</result>
</action>
</package>
</struts>
三、web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
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-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Struts2.0 study -->
<!-- 定义Struts2的FilterDispathcer的Filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
四、JavaBean: Product.java
package com.zzk.bean;
public class Product {
private String pname;
private Double price;
private Double discount; //折扣
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public Double getDiscount() {
return discount;
}
public void setDiscount(Double discount) {
this.discount = discount;
}
}
五、Action:
package com.zzk.test;
import com.opensymphony.xwork2.ActionSupport;
import com.zzk.bean.Product;
public class NumberFormatTest extends ActionSupport {
private Product p;
public String init() {
p = new Product();
p.setPname("电脑");
p.setPrice(new Double(10000000000.45));
p.setDiscount(new Double(0.855678));
return "test";
}
public Product getP() {
return p;
}
public void setP(Product p) {
this.p = p;
}
}
五、JSP页面:
test.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<a href="NumberFormatTest_init.do">Test</a>
</body>
</html>
test_show.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<s:text name="format.number">
<s:param value="p.price"/>
</s:text>
<br>
<s:property value="p.pname"/>
<br>
折扣:<s:text name="format.discount">
<s:param value="p.discount"/>
</s:text>
</body>
</html>
六、显示结果:
10,000,000,000.45
电脑
折扣:85.5678%
其中:
格式百分比的格式可以由 # 号的个数去决定。
下面是从转的:
format.number ={0,number,#0.0##}
{ 参数序号(从0开始),格式类形(number|date|time|choice),格式样式(具体样式参见http://java.sun.com/docs/books/tutorial/i18n/format/decimalFormat.html)}
用 <s:date>标签....里面 FORMAT属性设定YYYY-MM-DD-hh-mm,年,月,日,小时,分.
这里讲个小技巧:把hh改成HH就是24小时制的,小写就是12小时制的
分享到:
相关推荐
以下是对Struts2中日期、时间和数字格式化的详细解释。 首先,我们来了解Struts2中的`ValueStack`。`ValueStack`是Struts2的核心组件,它管理着Action对象和视图层之间的数据传递。当我们需要在JSP页面上显示日期或...
在Java Web开发中,Struts2框架因其丰富的标签库而被广泛使用,特别是其中的日期格式化功能,能够帮助开发者方便地对日期进行格式化处理。本文将详细介绍如何利用Struts2中的`<s:datename>`标签来格式化时间,并提供...
在Struts2中集成JSON数据格式,能够使得前后端交互更加高效,因为JSON是一种轻量级、易于解析的数据交换格式。本压缩包提供了在Struts2中使用JSON所需的全部jar包,特别适用于支持struts2.18及更高版本的应用,确保...
Struts2-number-plugin插件是基于Apache Struts2框架的一个扩展,主要目的是为了方便开发者在Struts2应用中处理数字格式化和国际化的问题。这个插件提供了强大的功能,包括数字的格式化、货币转换以及百分比计算等。...
修改struts标签text,使其支持日期类型的格式化输出。 用法:(例) 如何使用: 1.替换附件中的 struts-html.tld 2.替换附件中的struts.jar 3.页面中遇到Timestamp或Date类型的,自动转换成"yyyy-MM-dd HH:mm:ss"格式...
在Struts2中实现国际化是一项关键功能,它允许应用程序为不同的语言和地区提供本地化的用户体验。下面将详细介绍如何使用Struts2来实现国际化,并探讨相关的源码和工具。 **一、国际化基础** 国际化(i18n)是软件...
struts4 使用Struts2中内部类中的方法进行自定义类型转换,用到的类StrutsTypeConverter struts5 增加集合类型,使用范型 struts6 直接设置要进行类型转换的字段值 struts7 制作一个表单,对表单中的内容进行...
拦截器是Struts2实现AOP(面向切面编程)的关键,可以对Action执行前后进行拦截,进行如日志记录、权限检查、事务管理等操作。用户可以自定义拦截器,或者利用内置的拦截器栈,如Prepare、Validation、Exception等。...
下面我们将深入探讨Struts1和Struts2的区别。 1. 设计模式: - **Struts1**:基于Front Controller模式,只有一个Servlet(ActionServlet)处理所有请求。它使用Plug-In和Dispatcher机制来实现业务逻辑和视图的...
4. **转换配置文件**:将Struts1的配置文件转换为Struts2的格式。Struts2采用XML或注解的方式来配置Action和拦截器等。 5. **更新视图层**:检查并更新Struts1中的JSP页面,确保它们与Struts2的标签库兼容。 6. **...
为了确保应用的安全,除了定期使用struts2-scan等自动化工具进行检测之外,开发者还应遵循最佳实践,比如: 1. 及时更新Struts2框架到最新版本,修补已知的安全漏洞。 2. 避免在视图层使用未经验证的用户输入,尤其...
开发者应确保对用户输入进行校验和过滤,使用安全的插件,及时更新Struts2版本以修补潜在的安全漏洞。 以上就是关于"留言板留言板struts2"项目可能涉及的Struts2相关知识点。这个项目可能包含了Action编写、视图...
在Struts2中,实现国际化主要通过以下步骤: 1. **创建资源文件**:资源文件通常以.properties为扩展名,如`messages_en.properties`(英语)和`messages_zh_CN.properties`(简体中文)。这些文件存储了应用中所有...
Struts2内置了对OGNL的支持,可以方便地在JSP页面中使用OGNL表达式获取模型数据。 - **标签库**:Struts2提供了丰富的标签库,可以帮助开发者快速构建表单和页面元素,提高开发效率。 - **拦截器**:拦截器是Struts2...
在Struts2中,这通常通过资源 bundle 文件实现,例如`messages.properties`和`messages_zh_CN.properties`,分别用于存储默认语言和中文语言的文本。在Action或者JSP页面中,可以通过`<s:text>`标签来引用这些资源,...
在Struts2中实现国际化,可以帮助开发者创建对多语言环境友好的应用。 本示例主要围绕Struts2框架如何实现国际化进行深入探讨。源码中包含两个关键部分:WebRoot目录和src目录。 1. **WebRoot** 目录: - `WEB-...
本资料包聚焦于Struts2中的数据校验以及国际化(i18n)支持。 首先,我们来探讨"Struts2中的validation_多国语言版",这是Struts2的数据校验功能。Struts2提供了一种灵活的机制来验证用户输入,通过在Action类中...
8. **拦截器Interceptor**:拦截器是Struts2中的重要机制,它在Action调用前后执行,用于添加额外的功能,如日志记录、权限检查、事务管理等。 9. **插件Plugin**:Struts2有众多插件支持,如Tiles插件用于页面布局...
struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中实现文件上传 struts2中实现CRUD struts2中的OGNL struts2的新表单标志的使用 struts2与AJAX一 struts2...