鷹翔宇空

          學(xué)習(xí)和生活

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks

          引自:http://www.35dx.com/html/java/8/java7727.html


          1.對bean:write輸出的數(shù)據(jù)進行格式化

          在我們的struts應(yīng)用中,如果bean:write輸出的是很大的Double數(shù)據(jù)的話,默認情況下它會用科學(xué)計數(shù)化表示 如 1.316E8等。

          我們需要將他進行格式化,如千分位格式化等。即輸出為13,160,000.00。

          如果是個別現(xiàn)象,我們用bean:write的format屬性處理,即format="0,000.00"

          如果是普遍現(xiàn)象,我們可以在資源文件(在struts-config.xml的message-resources節(jié)點配置)里設(shè)置org.apache.struts.taglib.bean.format.float=0,000.00 ,當(dāng)然實際處理時format屬性是優(yōu)先的。也就是說,如果format屬性存在,bean:write將用format屬性值進行格式化,否則用默認的org.apache.struts.taglib.bean.format.float的值格式化。

          此類格式化參數(shù)有:

          ?

          序號 格式化參數(shù) 適用類型
          1 org.apache.struts.taglib.bean.format.sql.timestamp java.sql.Timestamp
          2 org.apache.struts.taglib.bean.format.sql.date java.sql.Date
          3 org.apache.struts.taglib.bean.format.sql.time java.sql.Time
          4 org.apache.struts.taglib.bean.format.date java.util.Date
          5 org.apache.struts.taglib.bean.format.int Byte,Short,Integer,Long,BigInteger
          6 org.apache.struts.taglib.bean.format.float Float,Double,BigDecimal

          2.處理輸入類型

          以日期為例,其他類型同理

          struts使用日期包括將string自動轉(zhuǎn)化為日期fill到form中的解決方法:

          創(chuàng)建如下類:
          import java.util.*;
          import org.apache.commons.beanutils.*;
          import java.text.SimpleDateFormat;
          public class DateConvert implements Converter {
          ??? static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
          ??? public DateConvert() {
          ??? }
          ??? public Object convert(Class type, Object value) {
          ??????? if (value == null) {
          ??????????? return null;
          ??????? }
          ??????? if (((String) value).trim().length() == 0)
          ??????????? return null;
          ??????? if (value instanceof String) {
          ??????????? try {
          ??????????????? return df.parse((String) value);
          ??????????? } catch (Exception ex) {
          ??????????????? throw new ConversionException("輸入的日期類型不合乎yyyy-MM-dd"
          ??????????????????????? + value.getClass());
          ??????????? }
          ??????? } else {
          ??????????? throw new ConversionException("輸入的不是字符類型" + value.getClass());
          ??????? }
          ??? }
          }
          				

          然后在你的系統(tǒng)初始化的地方使用如下語句初始化(如web的init方法)
          ConvertUtils.register(new DateConvert(),java.util.Date.class);
          參數(shù)用于表示DateConvert類負責(zé)處理java.util.Date類型的轉(zhuǎn)化
          posted on 2006-08-09 15:11 TrampEagle 閱讀(543) 評論(0)  編輯  收藏 所屬分類: web
          主站蜘蛛池模板: 滕州市| 宁强县| 兴城市| 兰考县| 鸡东县| 海晏县| 乌兰察布市| 洱源县| 垫江县| 桃江县| 赣州市| 壶关县| 庆城县| 上杭县| 彩票| 沙洋县| 调兵山市| 满城县| 高要市| 沽源县| 咸丰县| 东乡族自治县| 察雅县| 三明市| 长垣县| 浪卡子县| 青州市| 栾川县| 汤阴县| 连平县| 汝南县| 隆回县| 阿坝县| 东明县| 竹溪县| 辽宁省| 花莲市| 隆回县| 黑龙江省| 噶尔县| 封开县|