开始学习Jetspeed

现在开始学习建立一个门户网站,使用的目前被认为框架和开源方面做得比较好的Jetspeed2的Portal框架。以下日子要记录的是本人近日在学习之中所遇到问题及解决方法。
    今天在试着将一个portlet加入portal中遇到以下问题:
    1)portlet的题目显示中文时出现了乱码;
    2)portlet内部显示Jsp页面的中文出现乱码;
    3)在使用Jetspeed自带的RSS的portlet时无法改变portlet的ID,目前可以修改其题目。
    已解决:
    第一个问题:portlet的题目相关信息在于portlet.xml文件中,在该文件中修改应使用英文。如用中文,编码为ASCII码时将出现注册不通过的错误,使用unicode码时页面显示的为乱码。解决方法为,修改资源文件使其支持中文,该资源文件可在portlet.xml中指明。
    第二个问题:以往在tomcat中发布应用时,jsp页面都可以显示正确的中文。可是在Jetspeed中发布应用,虽然其结构仍完整,但却要通过上层的Jetspeed容器来显示其内容,所以必须要jsp页面头注明charater=UTF-8,其它编码如gbk2312仍出现为乱码。
   目前可以总结Jetspeed2对国际化的支持:页头可以直接在psml的配置文件中写中文,portlet题目必须通过资源文件来实现,jsp需要在头部注明编码类型。
   未解决:
   第三个问题:今天犯了不少比较弱的错误,首先Jetspeed对于所有portlet的发布必须首先把war包放入Jetspeed的主应用中,这时Jetspeed会自动解包并把应用发布于webapps文件夹下,此时该portlet的id已经注册到portal中,所以在webapps中修改portlet的id会出现portlet的引用为空的相似错误,而我今天就是犯了此等错误。通过发布其它portlet应用我可以修改其id,对于Jetspeed自带的RSS应用,我首先是修改了其portlet.xml文件中的portlet的id,然后删除webapps中的应用,并把war包重新放入deploy文件夹中重新发布,可是结果发现对于原来id的应用仍然有效,而新id却无效。问题可能出在Jetspeed是否已经和该应用有相关,或者RSS应用中有其它内容与id相关。问题有待解决。

猜你喜欢

转载自helloklzs.iteye.com/blog/1147853