Struts2中对数字进行格式化,1、将数字用 , 号分隔 2、将小数格式化为百分比

Struts2中对数字进行格式化,1、将数字用 , 号分隔 2、将小数格式化为百分比
2008-12-24 22:36

一、资源文件的配置(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中对数字进行格式化,1、将数字用 , 号分隔 2、将小数格式化为百分比)