博文

目前显示的是 六月, 2008的博文

2008-06-26

今天早上看了下cglib和bcel。
本来是这样的,我有很多个普通的类,它们有一些public的成员变量。但是没有对应的getter/setter。所以如果用jdk的bean工具去查properties,就找不到这些变量。而我需要在axis2中把这些类型认做pojo作为 web service的Method中的参数。我首先的想法是,可否通过cglib这样的库动态的给原来的类添加几个get/set函数。发现用cglib或者bcel创建一个新的java bean class是很容易的。然而,我的要求,是不可能被满足的。因为据说java不允许动态的给一个类添加方法。So,我彻底的放弃了这个念头。只好根据现有的类生成新的类,然后尝试来回转换。
晚上回来想给新博客添加rss的功能。由于整个web的表现是在struts2上构建的。所以本来首先想用struts2的一个rss plugin(Rome RSS-Atom Plugin)来生成rss.但是发现对方网站实在是简陋的可以,而且找不到任何文档。想想算了,还是自己做吧。 首先有两个考虑 用log4j从头开始生xml,然后输出到一个stream。然后把struts的result type设置成stream,这样输出到浏览器。 用freemaker写一个模板。然后就像写普通网页一样,挨个填空。 把对象从数据库中取出后就交给xstream输出,然后写一个xslt转成rss格式的xml. 后来采用了第2条,因为觉得比较简单。折腾了一会儿,总算把rss2弄完了。明个儿有空了再给atom写一个ftl模板就行了。 struts2的url标签比较让我郁闷的是,它生成的仅仅是一个路径。不包含主机名、端口号等信息。而rss中要求写的是一个以协议名开头的完全的url。于是我只好去HttpServletRequest对象中找主机名、端口号然后拼起来。有谁知道什么好的办法吗? 嗯,下面最想做的就是给google提供sitemap。不过目前还没有具体的想法,不知道该怎么做。
还有一个比较急的是添加评论的页面还没有做。

flashget也搞偷偷上传

话说,可不可以去告它啊?
偷偷的把我硬盘上的文件传到不知名的地方?如果我这是公司的电脑,那么它算不算是窃取商业机密罪?

JDK 7中ProcessBuilder新添了重定向IO的功能

JDK 7中ProcessBuilder新添了IO重定向功能,例如:ProcessBuilderredirectError(File file)真好~~ 啥时候发布啊

Hibernate的Cascade怎么用?数组成员删不掉

/** * 地图信息 * */@SuppressWarnings("serial") @EntitypublicclassMapInfo{ int id; String name; NpcInfo[] activities; @IdpublicintgetId(){ return id; } publicvoidsetId(int id){ this.id = id; } 于是,事实上,数据里有两张表,一张Mapinfo,一张MapInfo_activities.第二张表会引用第一张表。@CollectionOfElements@IndexColumn(name = "aid", base = 1) @Cascade({ org.hibernate.annotations.CascadeType.DELETE_ORPHAN}) public NpcInfo[] getActivities() { return activities; } publicvoidsetActivities(NpcInfo[] activities){ this.activities = activities; } } /** * NPC信息 * */@EmbeddablepublicclassNpcInfo{ int id; String name; publicintgetId(){ return id; } publicvoidsetId(int id){ this.id = id; } public String getName(){ return name; } publicvoidsetName(String name){ this.name = name; } } 然后我这么删除s.createQuery("delete from MapInfo").executeUpdate(); 结果呢,它直接就在MapInfo这张表执行delete,而没有先去MapInfo_activities中执行delete。我用的数据库是Mysql InnoDB。它报告说“foreign key constraint fails”。…

FreeMaker Vs Jsp ?

最近在重写我的Blog。发现Struts 2中重用一段代码,主要采用的是component。 <s:componenttemplate="header.ftl"/>然后发现Struts力推FreeMaker,基本不建议使用jsp或者其它引擎写template。啊,我不会FreeMaker。又得学一大堆东西……