JEECMS学习
1.登录页面
<meta http-equiv="refresh" content="3;URL=install/index.html"/>
加上这个竟然在3秒后跳转到新页面,真简单实用啊!
2.install_setup.jsp
application.getRealPath(webXmlFrom);
就可以获得相对路径下的绝对路径
3.Install.java
public static void dbXml(String fileName, String dbHost, String dbPort,
String dbName, String dbUser, String dbPassword) throws Exception {
String s = FileUtils.readFileToString(new File(fileName));
s = s.replaceFirst("DB_HOST", dbHost);
s = s.replaceFirst("DB_PORT", dbPort);
s = s.replaceFirst("DB_NAME", dbName);
s = s.replaceFirst("DB_USER", dbUser);
s = s.replaceFirst("DB_PASSWORD", dbPassword);
FileUtils.writeStringToFile(new File(fileName), s);
}
对文件的操作原来可以很简单
4.JEECMS的首页加载代码分析:
http://hi.baidu.com/jackyzhang213/blog/item/164ba730859769bbd0a2d352.html
5.简单的表达式语言
http://www.oracle.com/technology/global/cn/sample_code/tutorials/jsp20/simpleel.html#jeld
JSP提供了一个简单的EL操作方法,非常方便的解决了参数传递功能
http://www.codesky.net/article/doc/201004/2010041703117.htm
6.Spring的一些注释符
比如:@Autowired,@Controller,@Scope等
7.关于FreeMarker,
JEECMS中用到很多自定义的指令比如:
<body>
<!--页头Begin-->
[@cms.Include name='head.html' solution='default'/]
看了半天没弄明白到底是什么东东!
原来是FreeMarker搞的鬼
http://www.sunxin.org/article/846.html
8.虽然知道了FreeMarker,但是更奇怪的问题出现了:JEECMS和FreeMarker是怎么接的呢?根据大部分网上的介绍,FreeMarker要接到Web上很简单就是在WEB.xml中增加一段话,但是在JEECMS中并没有这样的配置。
经过一天的折腾,终于解开了这个秘密
原来:JEECMS修改了STRUTS的struts-default.xml,其中对package name="struts-default" 的定义,将
<result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
<result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult" />
修改成freemarker成了default=”true”.
这样默认就采用freemarker进行处理
9.终于弄明白了一件事情,JEECMS大部分的页面都是HTML,而不是JSP,原因是他通过调用ACTION获取服务器数据,然后通过freemarker的功能生成页面。
10.文章的处理
研究发现,文章的记录存放在ARTI_ARTICLE表里,而编辑后的内容存放在:WEB-INF\user_base\jeecms_com_www\article_content\路径下
11.关于全文检索
要能实现全文检索,必须要到首页,缓存管理中点生成索引,才可以