2007-1-21 星期日

这两天,蒸腾了两个例子,听说一个叫struts-menu的框架可以实现基于struts的菜单,照着网上的例子,自己摆弄了一个,哈哈,这东西好,可以做出不同样式的菜单,然后又用struts/struts-menu/spring/hibernate/sqlserver2000实现一个从数据库读取的动态树形菜单,好家伙这可折腾死我了,代码早早的一口气写完了,剩下一堆错误,有些甚至莫名其妙的,大部分时间都在这上面了,这周在学junit,看来很重要,要养成测试的好习惯,按照模块来测试,不能一个程序写好了,再这找那找错,太浪费时间了,这次就是,上来就给我一个下马威,505错误(网络服务器错误)actionServlet不可用,检查struts-config.xml和applicationContext.xml的配置没有见检查出来不对,想必是spring或者hibernate的错误了,在struts-config.xml解除跟spring的关联,直接在action中调用,spring的dao方法,这下可好,哈哈,出来一堆错误,都是不小心的这错那错,一通改之后,最后卡在

hibernate java.lang.ClassCastException: [Ljava.lang.Object

上,是hibernate报的错误,发现在查询后得到的List不知道里面是什么类型,不能强制转换成我的持久类,不能转换成map,那是什么呢,因为我的查询语句是复合查询,最后发现List是Object[],是个Object类型的数组,我见过List里面是Map,持久类,Object[]了,Map是在spring里面通过spring的jdbcTemplete返回的List,里面是Map集合,Map的键是数据库表的字段名,后两个是在hibernate里,一个表查询可能就是返回持久类类型,多个表查询就是Object[]类型了?但Object[]里面是什么,我这里发现里面是每条记录的值,在网上查到,还有可是多个持久类(多表查询,这个说法我没试过呢),这样把List里取出的转换成Object[],这个错误算是通过了,还有个

[org.apache.struts.action.RequestProcessor] - 
在Java中计算给定日期的星期,通常会使用`java.util.Calendar`类或者`java.time`包中的`LocalDate`类。这里,我将介绍如何使用`LocalDate`类来实现这一功能,因为它是Java 8中引入的,比`Calendar`类有更清晰的API设计和更好的时间日期处理能力。 首先,你需要从用户那里获取输入的年月日,然后使用`LocalDate`类将字符串解析为日期对象。之后,使用该日期对象的`getDayOfWeek()`方法获取`DayOfWeek`枚举,它会返回一个星期的某一天。下面是具体的实现步骤: ```java import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.DayOfWeek; public class DateToDayOfWeek { public static void main(String[] args) { // 假设用户输入的日期为 "2023-04-10",格式为 "年-月-日" String input = "2023-04-10"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 将字符串解析为LocalDate对象 LocalDate date = LocalDate.parse(input, formatter); // 获取对应星期 DayOfWeek dayOfWeek = date.getDayOfWeek(); // 输出结果 System.out.println("给定的日期是星期" + dayOfWeek); } } ``` 在这个例子中,我们首先定义了一个日期格式化器`DateTimeFormatter`,以确保可以正确解析用户输入的字符串。然后,使用`LocalDate.parse()`方法将字符串转换为`LocalDate`对象。接着,我们调用`getDayOfWeek()`方法来获取对应星期,该方法返回的是一个`DayOfWeek`枚举值,表示星期几。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值