public static String getDatePattern(Locale locale, int dateStyle) {
String[] dateTimePatterns = (String[]) patterns.get(locale);
if (dateTimePatterns == null) {
ResourceBundle r = LocaleData.getLocaleElements(locale);
dateTimePatterns = r.getStringArray("DateTimePatterns");
patterns.put(locale, dateTimePatterns);
}
return dateTimePatterns[dateStyle + 4];
}是由
/**
* Creates new instance of Common converter with specified locale
*
* @param locale Locale to use
*/
public CommonConverter(Locale locale) {
this.locale = locale;
this.formatter = new SimpleDateFormat(DateUtil.getDatePattern(locale), locale);
}
调用的,运行时系统说找不到sun/text/resources/LocaleData,我以前用1.4的jre没有问题,rt.jar包下能找到
LocaleData$.class,但是换成jre1.6发现rt.jar下没有这个类了,请问现在应该怎么处理,我们现在要用jre1.6因为别人提供的接口包用的jre1.6,如果我不用就报版本错误。所以只能解决ResourceBundle r = LocaleData.getLocaleElements(locale);这个问题。
String[] dateTimePatterns = (String[]) patterns.get(locale);
if (dateTimePatterns == null) {
ResourceBundle r = LocaleData.getLocaleElements(locale);
dateTimePatterns = r.getStringArray("DateTimePatterns");
patterns.put(locale, dateTimePatterns);
}
return dateTimePatterns[dateStyle + 4];
}是由
/**
* Creates new instance of Common converter with specified locale
*
* @param locale Locale to use
*/
public CommonConverter(Locale locale) {
this.locale = locale;
this.formatter = new SimpleDateFormat(DateUtil.getDatePattern(locale), locale);
}
调用的,运行时系统说找不到sun/text/resources/LocaleData,我以前用1.4的jre没有问题,rt.jar包下能找到
LocaleData$.class,但是换成jre1.6发现rt.jar下没有这个类了,请问现在应该怎么处理,我们现在要用jre1.6因为别人提供的接口包用的jre1.6,如果我不用就报版本错误。所以只能解决ResourceBundle r = LocaleData.getLocaleElements(locale);这个问题。
解决方案 »
- jsp中调用的applet,如何手动调td的宽度(table是applet中的,在applet中可以手动调节td的宽度)
- java图形编辑
- 抽象类继承实类
- 不同classloader装载的类不能互相访问?
- jsp 树形控制
- 菜鸟的一个简单问题(实际上是非常有用的知识点),请高手指点指点!!!!
- 谁??可以提供JAVA源程序给我啊
- 求FORTE FOR JAVA4。0 EE版的注册码??
- 如何将String类型的2.8转换为float类型的2.8,将其直接用于计算
- 哪位用过Forte(tm) for Java,请进!
- jtable显示ResultSet记录集速度问题
- 如何在JSP中实现点击下拉列表自动改变文本框中的值
如果你知道properties文件的路径,用ResourceBundle r=ResourceBundle.getBundle(String baseName, Locale locale)来代替.
如果确认不了,只能将LocaleData反编译,在你自己的类中实现getLocaleElements方法.
public static String getDatePattern(Locale locale, int dateStyle) {
/* 在jre1.6中 LocaleData对象找不到,可能与jre版本有关暂时屏蔽,在将在寻找更加有效解决办法,暂时用固定日期格式代替
* String[] dateTimePatterns = (String[])patterns.get(locale);
if (dateTimePatterns == null) {
ResourceBundle r = LocaleData.getLocaleElements(locale);
dateTimePatterns = r.getStringArray("DateTimePatterns");
patterns.put(locale, dateTimePatterns);
}
return dateTimePatterns[dateStyle + 4];*/
return "yyyy-M-d";
}
请注意这个方法,实际上他也是写死的,这个方法的作用是通过Locale找到所属国家所有时间表示形式,我看了下他的输出结果就是"yyyy-M-d"所以我就直接给写死在这里了,之前1.5确实可以用,所以说不让调用sun包下的应该不是这个原因,我去看1.5包下有LocaleData$.class类,而1.6下没有,大家可以去看看,目前已经决绝。谢谢各位帮忙,我在网上找没有找到关于这个好的解决办法,希望以后有人能提供。个人猜测sun取消了,或者是没有开发好其他国家的版本。