Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

first step

  • Loading branch information...
commit f9db3d375ab384227fabef82ad662c89e2cee1d9 0 parents
villins authored October 12, 2012

Showing 132 changed files with 12,108 additions and 0 deletions. Show diff stats Hide diff stats

  1. 64  .classpath
  2. 13  .mymetadata
  3. 50  .project
  4. 12  .settings/.jsdtscope
  5. 7  .settings/org.eclipse.jdt.core.prefs
  6. 1  .settings/org.eclipse.wst.jsdt.ui.superType.container
  7. 1  .settings/org.eclipse.wst.jsdt.ui.superType.name
  8. 3  WebRoot/META-INF/MANIFEST.MF
  9. 26  WebRoot/WEB-INF/classes/applicationContext.xml
  10. BIN  WebRoot/WEB-INF/classes/com/villins/controller/ArchiveContrller.class
  11. BIN  WebRoot/WEB-INF/classes/com/villins/controller/CommentController.class
  12. BIN  WebRoot/WEB-INF/classes/com/villins/controller/MiscController.class
  13. BIN  WebRoot/WEB-INF/classes/com/villins/controller/PostController.class
  14. BIN  WebRoot/WEB-INF/classes/com/villins/dao/BaseDao.class
  15. BIN  WebRoot/WEB-INF/classes/com/villins/dao/CommentDao.class
  16. BIN  WebRoot/WEB-INF/classes/com/villins/dao/Page.class
  17. BIN  WebRoot/WEB-INF/classes/com/villins/dao/PostDao.class
  18. BIN  WebRoot/WEB-INF/classes/com/villins/dao/TagDao.class
  19. BIN  WebRoot/WEB-INF/classes/com/villins/entity/Comment.class
  20. BIN  WebRoot/WEB-INF/classes/com/villins/entity/Post.class
  21. BIN  WebRoot/WEB-INF/classes/com/villins/entity/Tag.class
  22. BIN  WebRoot/WEB-INF/classes/com/villins/filter/BlogFilter.class
  23. BIN  WebRoot/WEB-INF/classes/com/villins/service/BaseService.class
  24. BIN  WebRoot/WEB-INF/classes/com/villins/service/CommentService.class
  25. BIN  WebRoot/WEB-INF/classes/com/villins/service/PostService.class
  26. BIN  WebRoot/WEB-INF/classes/com/villins/service/TagService.class
  27. BIN  WebRoot/WEB-INF/classes/com/villins/util/BlogUtil.class
  28. 52  WebRoot/WEB-INF/classes/spring-dao.xml
  29. 37  WebRoot/WEB-INF/classes/spring-service.xml
  30. 1  WebRoot/WEB-INF/classes/user.xml
  31. 33  WebRoot/WEB-INF/jsp/about.jsp
  32. 66  WebRoot/WEB-INF/jsp/addArticle.jsp
  33. 51  WebRoot/WEB-INF/jsp/archives.jsp
  34. 57  WebRoot/WEB-INF/jsp/editArticle.jsp
  35. 103  WebRoot/WEB-INF/jsp/index.jsp
  36. 81  WebRoot/WEB-INF/jsp/showArticle.jsp
  37. 15  WebRoot/WEB-INF/jsp/top.jsp
  38. BIN  WebRoot/WEB-INF/lib/IKAnalyzer2012.jar
  39. BIN  WebRoot/WEB-INF/lib/antlr-2.7.6.jar
  40. BIN  WebRoot/WEB-INF/lib/aopalliance.jar
  41. BIN  WebRoot/WEB-INF/lib/aspectjrt.jar
  42. BIN  WebRoot/WEB-INF/lib/aspectjweaver.jar
  43. BIN  WebRoot/WEB-INF/lib/cglib-nodep-2.1_3.jar
  44. BIN  WebRoot/WEB-INF/lib/commons-beanutils-1.7.0.jar
  45. BIN  WebRoot/WEB-INF/lib/commons-beanutils-1.8.2.jar
  46. BIN  WebRoot/WEB-INF/lib/commons-collections-3.1.jar
  47. BIN  WebRoot/WEB-INF/lib/commons-dbcp.jar
  48. BIN  WebRoot/WEB-INF/lib/commons-fileupload-1.2.1.jar
  49. BIN  WebRoot/WEB-INF/lib/commons-fileupload.jar
  50. BIN  WebRoot/WEB-INF/lib/commons-io-1.4.jar
  51. BIN  WebRoot/WEB-INF/lib/commons-io.jar
  52. BIN  WebRoot/WEB-INF/lib/commons-lang.jar
  53. BIN  WebRoot/WEB-INF/lib/commons-logging-1.1.1.jar
  54. BIN  WebRoot/WEB-INF/lib/commons-pool.jar
  55. BIN  WebRoot/WEB-INF/lib/dom4j-1.6.1.jar
  56. BIN  WebRoot/WEB-INF/lib/ehcache-1.5.0.jar
  57. BIN  WebRoot/WEB-INF/lib/ezmorph-1.0.3.jar
  58. BIN  WebRoot/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar
  59. BIN  WebRoot/WEB-INF/lib/hibernate-validator-4.3.0.CR1.jar
  60. BIN  WebRoot/WEB-INF/lib/hibernate-validator-annotation-processor-4.3.0.CR1.jar
  61. BIN  WebRoot/WEB-INF/lib/hibernate3.jar
  62. BIN  WebRoot/WEB-INF/lib/jackson-all-1.7.6.jar
  63. BIN  WebRoot/WEB-INF/lib/javassist-3.12.0.GA.jar
  64. BIN  WebRoot/WEB-INF/lib/jboss-logging-3.1.0.CR2.jar
  65. BIN  WebRoot/WEB-INF/lib/json-lib-2.4-jdk15.jar
  66. BIN  WebRoot/WEB-INF/lib/json_simple-1.1.jar
  67. BIN  WebRoot/WEB-INF/lib/jsonplugin-0.34.jar
  68. BIN  WebRoot/WEB-INF/lib/jta-1.1.jar
  69. BIN  WebRoot/WEB-INF/lib/junit-4.8.2.jar
  70. BIN  WebRoot/WEB-INF/lib/lucene-core-3.6.0.jar
  71. BIN  WebRoot/WEB-INF/lib/mysql-connector-java-5.1.13-bin.jar
  72. BIN  WebRoot/WEB-INF/lib/org.springframework.aop-3.1.1.RELEASE.jar
  73. BIN  WebRoot/WEB-INF/lib/org.springframework.asm-3.1.1.RELEASE.jar
  74. BIN  WebRoot/WEB-INF/lib/org.springframework.aspects-3.1.1.RELEASE.jar
  75. BIN  WebRoot/WEB-INF/lib/org.springframework.beans-3.1.1.RELEASE.jar
  76. BIN  WebRoot/WEB-INF/lib/org.springframework.context-3.1.1.RELEASE.jar
  77. BIN  WebRoot/WEB-INF/lib/org.springframework.context.support-3.1.1.RELEASE.jar
  78. BIN  WebRoot/WEB-INF/lib/org.springframework.core-3.1.1.RELEASE.jar
  79. BIN  WebRoot/WEB-INF/lib/org.springframework.expression-3.1.1.RELEASE.jar
  80. BIN  WebRoot/WEB-INF/lib/org.springframework.instrument-3.1.1.RELEASE.jar
  81. BIN  WebRoot/WEB-INF/lib/org.springframework.instrument.tomcat-3.1.1.RELEASE.jar
  82. BIN  WebRoot/WEB-INF/lib/org.springframework.jdbc-3.1.1.RELEASE.jar
  83. BIN  WebRoot/WEB-INF/lib/org.springframework.jms-3.1.1.RELEASE.jar
  84. BIN  WebRoot/WEB-INF/lib/org.springframework.orm-3.1.1.RELEASE.jar
  85. BIN  WebRoot/WEB-INF/lib/org.springframework.oxm-3.1.1.RELEASE.jar
  86. BIN  WebRoot/WEB-INF/lib/org.springframework.test-3.1.1.RELEASE.jar
  87. BIN  WebRoot/WEB-INF/lib/org.springframework.transaction-3.1.1.RELEASE.jar
  88. BIN  WebRoot/WEB-INF/lib/org.springframework.web-3.1.1.RELEASE.jar
  89. BIN  WebRoot/WEB-INF/lib/org.springframework.web.portlet-3.1.1.RELEASE.jar
  90. BIN  WebRoot/WEB-INF/lib/org.springframework.web.servlet-3.1.1.RELEASE.jar
  91. BIN  WebRoot/WEB-INF/lib/org.springframework.web.struts-3.1.1.RELEASE.jar
  92. BIN  WebRoot/WEB-INF/lib/poi-3.7-20101029.jar
  93. BIN  WebRoot/WEB-INF/lib/slf4j-api-1.6.1.jar
  94. BIN  WebRoot/WEB-INF/lib/validation-api-1.0.0.GA.jar
  95. 41  WebRoot/WEB-INF/springMVC-servlet.xml
  96. 62  WebRoot/WEB-INF/web.xml
  97. BIN  WebRoot/img/back_top.jpg
  98. BIN  WebRoot/img/btn.jpg
  99. BIN  WebRoot/img/btn_hover.jpg
  100. BIN  WebRoot/img/main_left.jpg
  101. BIN  WebRoot/img/mbtn.jpg
  102. BIN  WebRoot/img/mbtn_hover.jpg
  103. BIN  WebRoot/img/未命名.jpg
  104. 27  WebRoot/index.jsp
  105. 9,404  WebRoot/js/jquery-1.7.2.js
  106. 176  WebRoot/js/kindeditor-min.js
  107. 1  WebRoot/js/main.js
  108. 234  WebRoot/js/zh_CN.js
  109. 149  WebRoot/styles/article.css
  110. 143  WebRoot/styles/main.css
  111. 26  src/applicationContext.xml
  112. 32  src/com/villins/controller/ArchiveContrller.java
  113. 55  src/com/villins/controller/CommentController.java
  114. 44  src/com/villins/controller/MiscController.java
  115. 112  src/com/villins/controller/PostController.java
  116. 224  src/com/villins/dao/BaseDao.java
  117. 28  src/com/villins/dao/CommentDao.java
  118. 116  src/com/villins/dao/Page.java
  119. 47  src/com/villins/dao/PostDao.java
  120. 29  src/com/villins/dao/TagDao.java
  121. 50  src/com/villins/entity/Comment.java
  122. 91  src/com/villins/entity/Post.java
  123. 47  src/com/villins/entity/Tag.java
  124. 35  src/com/villins/filter/BlogFilter.java
  125. 57  src/com/villins/service/BaseService.java
  126. 27  src/com/villins/service/CommentService.java
  127. 31  src/com/villins/service/PostService.java
  128. 27  src/com/villins/service/TagService.java
  129. 30  src/com/villins/util/BlogUtil.java
  130. 52  src/spring-dao.xml
  131. 37  src/spring-service.xml
  132. 1  src/user.xml
64  .classpath
... ...
@@ -0,0 +1,64 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<classpath>
  3
+	<classpathentry kind="src" path="src"/>
  4
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  5
+	<classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>
  6
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/IKAnalyzer2012.jar"/>
  7
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/antlr-2.7.6.jar"/>
  8
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/aopalliance.jar"/>
  9
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/aspectjrt.jar"/>
  10
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/aspectjweaver.jar"/>
  11
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/cglib-nodep-2.1_3.jar"/>
  12
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-beanutils-1.7.0.jar"/>
  13
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-beanutils-1.8.2.jar"/>
  14
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-collections-3.1.jar"/>
  15
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-dbcp.jar"/>
  16
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-fileupload.jar"/>
  17
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-io.jar"/>
  18
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-lang.jar"/>
  19
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-logging-1.1.1.jar"/>
  20
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-pool.jar"/>
  21
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/dom4j-1.6.1.jar"/>
  22
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ehcache-1.5.0.jar"/>
  23
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ezmorph-1.0.3.jar"/>
  24
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar"/>
  25
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate-validator-4.3.0.CR1.jar"/>
  26
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate-validator-annotation-processor-4.3.0.CR1.jar"/>
  27
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate3.jar"/>
  28
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jackson-all-1.7.6.jar"/>
  29
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/javassist-3.12.0.GA.jar"/>
  30
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jboss-logging-3.1.0.CR2.jar"/>
  31
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/json-lib-2.4-jdk15.jar"/>
  32
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jsonplugin-0.34.jar"/>
  33
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jta-1.1.jar"/>
  34
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/junit-4.8.2.jar"/>
  35
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/lucene-core-3.6.0.jar"/>
  36
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-5.1.13-bin.jar"/>
  37
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.aop-3.1.1.RELEASE.jar"/>
  38
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.asm-3.1.1.RELEASE.jar"/>
  39
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.aspects-3.1.1.RELEASE.jar"/>
  40
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.beans-3.1.1.RELEASE.jar"/>
  41
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.context-3.1.1.RELEASE.jar"/>
  42
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.context.support-3.1.1.RELEASE.jar"/>
  43
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.core-3.1.1.RELEASE.jar"/>
  44
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.expression-3.1.1.RELEASE.jar"/>
  45
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.instrument-3.1.1.RELEASE.jar"/>
  46
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.instrument.tomcat-3.1.1.RELEASE.jar"/>
  47
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.jdbc-3.1.1.RELEASE.jar"/>
  48
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.jms-3.1.1.RELEASE.jar"/>
  49
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.orm-3.1.1.RELEASE.jar"/>
  50
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.oxm-3.1.1.RELEASE.jar"/>
  51
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.test-3.1.1.RELEASE.jar"/>
  52
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.transaction-3.1.1.RELEASE.jar"/>
  53
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.web-3.1.1.RELEASE.jar"/>
  54
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.web.portlet-3.1.1.RELEASE.jar"/>
  55
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.web.servlet-3.1.1.RELEASE.jar"/>
  56
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.web.struts-3.1.1.RELEASE.jar"/>
  57
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/poi-3.7-20101029.jar"/>
  58
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/slf4j-api-1.6.1.jar"/>
  59
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/validation-api-1.0.0.GA.jar"/>
  60
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-fileupload-1.2.1.jar"/>
  61
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-io-1.4.jar"/>
  62
+	<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/json_simple-1.1.jar"/>
  63
+	<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
  64
+</classpath>
13  .mymetadata
... ...
@@ -0,0 +1,13 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<project-module
  3
+  type="WEB"
  4
+  name="Blog"
  5
+  id="myeclipse.1340600752983"
  6
+  context-root="/Blog"
  7
+  j2ee-spec="5.0"
  8
+  archive="Blog.war">
  9
+  <attributes>
  10
+    <attribute name="webrootdir" value="WebRoot" />
  11
+  </attributes>
  12
+</project-module>
  13
+
50  .project
... ...
@@ -0,0 +1,50 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<projectDescription>
  3
+	<name>Blog</name>
  4
+	<comment></comment>
  5
+	<projects>
  6
+	</projects>
  7
+	<buildSpec>
  8
+		<buildCommand>
  9
+			<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
  10
+			<arguments>
  11
+			</arguments>
  12
+		</buildCommand>
  13
+		<buildCommand>
  14
+			<name>com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder</name>
  15
+			<arguments>
  16
+			</arguments>
  17
+		</buildCommand>
  18
+		<buildCommand>
  19
+			<name>org.eclipse.jdt.core.javabuilder</name>
  20
+			<arguments>
  21
+			</arguments>
  22
+		</buildCommand>
  23
+		<buildCommand>
  24
+			<name>com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator</name>
  25
+			<arguments>
  26
+			</arguments>
  27
+		</buildCommand>
  28
+		<buildCommand>
  29
+			<name>com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator</name>
  30
+			<arguments>
  31
+			</arguments>
  32
+		</buildCommand>
  33
+		<buildCommand>
  34
+			<name>org.eclipse.wst.validation.validationbuilder</name>
  35
+			<arguments>
  36
+			</arguments>
  37
+		</buildCommand>
  38
+		<buildCommand>
  39
+			<name>com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder</name>
  40
+			<arguments>
  41
+			</arguments>
  42
+		</buildCommand>
  43
+	</buildSpec>
  44
+	<natures>
  45
+		<nature>com.genuitec.eclipse.ast.deploy.core.deploymentnature</nature>
  46
+		<nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>
  47
+		<nature>org.eclipse.jdt.core.javanature</nature>
  48
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
  49
+	</natures>
  50
+</projectDescription>
12  .settings/.jsdtscope
... ...
@@ -0,0 +1,12 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<classpath>
  3
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
  4
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
  5
+		<attributes>
  6
+			<attribute name="hide" value="true"/>
  7
+		</attributes>
  8
+	</classpathentry>
  9
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
  10
+	<classpathentry kind="src" path="WebRoot"/>
  11
+	<classpathentry kind="output" path=""/>
  12
+</classpath>
7  .settings/org.eclipse.jdt.core.prefs
... ...
@@ -0,0 +1,7 @@
  1
+#Mon Jun 25 13:05:55 CST 2012
  2
+eclipse.preferences.version=1
  3
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
  4
+org.eclipse.jdt.core.compiler.compliance=1.5
  5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
  6
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
  7
+org.eclipse.jdt.core.compiler.source=1.5
1  .settings/org.eclipse.wst.jsdt.ui.superType.container
... ...
@@ -0,0 +1 @@
  1
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
1  .settings/org.eclipse.wst.jsdt.ui.superType.name
... ...
@@ -0,0 +1 @@
  1
+Window
3  WebRoot/META-INF/MANIFEST.MF
... ...
@@ -0,0 +1,3 @@
  1
+Manifest-Version: 1.0
  2
+Class-Path: 
  3
+
26  WebRoot/WEB-INF/classes/applicationContext.xml
... ...
@@ -0,0 +1,26 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!--
  3
+  - Middle tier application context definition for the image database.
  4
+  -->
  5
+<beans xmlns="http://www.springframework.org/schema/beans"
  6
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  7
+        xmlns:context="http://www.springframework.org/schema/context"
  8
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
  9
+    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
  10
+    ">
  11
+  
  12
+
  13
+    <!-- 数据访问层配置 -->
  14
+    <import resource="classpath:/spring-dao.xml" />
  15
+     <!--服务层配置 -->
  16
+    <import resource="classpath:/spring-service.xml" />
  17
+
  18
+
  19
+ 
  20
+	
  21
+	
  22
+
  23
+
  24
+	
  25
+
  26
+</beans>
BIN  WebRoot/WEB-INF/classes/com/villins/controller/ArchiveContrller.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/controller/CommentController.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/controller/MiscController.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/controller/PostController.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/dao/BaseDao.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/dao/CommentDao.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/dao/Page.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/dao/PostDao.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/dao/TagDao.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/entity/Comment.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/entity/Post.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/entity/Tag.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/filter/BlogFilter.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/service/BaseService.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/service/CommentService.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/service/PostService.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/service/TagService.class
Binary file not shown
BIN  WebRoot/WEB-INF/classes/com/villins/util/BlogUtil.class
Binary file not shown
52  WebRoot/WEB-INF/classes/spring-dao.xml
... ...
@@ -0,0 +1,52 @@
  1
+<?xml version="1.0" encoding="UTF-8" ?>
  2
+<beans xmlns="http://www.springframework.org/schema/beans"
  3
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
  4
+	xmlns:context="http://www.springframework.org/schema/context"
  5
+	xmlns:p="http://www.springframework.org/schema/p"
  6
+	xsi:schemaLocation="
  7
+    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  8
+    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
  9
+    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
  10
+	<!-- 扫描com.baobaotao.dao包下所有标注@Repository的DAO组件 -->
  11
+    <context:component-scan base-package="com.villins.dao"/>
  12
+
  13
+
  14
+	<bean id="dataSource"
  15
+			class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  16
+			<property name="driverClassName">
  17
+				<value>com.mysql.jdbc.Driver</value>
  18
+			</property>
  19
+			<property name="url">
  20
+				<value>jdbc:mysql://localhost/blog?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true&amp;autoReconnectForPools=true
  21
+				</value>
  22
+			</property>
  23
+			<property name="username">
  24
+				<value>root</value>
  25
+			</property>
  26
+			<property name="password">
  27
+				<value>hammer</value>
  28
+			</property>
  29
+		</bean>
  30
+		
  31
+		<bean id="sessionFactory"
  32
+			class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  33
+			<property name="dataSource" ref="dataSource" />
  34
+		    <property name="packagesToScan">
  35
+	            <list>
  36
+	                <value>com.villins.entity</value>
  37
+	            </list>
  38
+	        </property>
  39
+			<property name="hibernateProperties">
  40
+				<value>
  41
+					hibernate.dialect=org.hibernate.dialect.MySQLDialect
  42
+					hibernate.show_sql=true
  43
+					hibernate.format_sql=true
  44
+					hibernate.hbm2ddl.auto=update
  45
+					hibernate.current_session_context_class=thread
  46
+				</value>
  47
+			</property>
  48
+		</bean>
  49
+		<bean id="hibernateTemplate"
  50
+			class="org.springframework.orm.hibernate3.HibernateTemplate"
  51
+			 p:sessionFactory-ref="sessionFactory" />
  52
+	</beans>
37  WebRoot/WEB-INF/classes/spring-service.xml
... ...
@@ -0,0 +1,37 @@
  1
+<?xml version="1.0" encoding="UTF-8" ?>
  2
+<beans xmlns="http://www.springframework.org/schema/beans"
  3
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
  4
+	xmlns:aop="http://www.springframework.org/schema/aop"
  5
+	xmlns:context="http://www.springframework.org/schema/context"
  6
+    xmlns:p="http://www.springframework.org/schema/p"
  7
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  8
+    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
  9
+    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd 
  10
+    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
  11
+   <!-- 扫描com.baobaotao.service包下所有标注@Service的服务组件 -->
  12
+    <context:component-scan base-package="com.villins.service"/>
  13
+	<bean id="transactionManager"
  14
+		  class="org.springframework.orm.hibernate3.HibernateTransactionManager"
  15
+		  p:sessionFactory-ref="sessionFactory" />
  16
+     
  17
+    <!--使用强大的切点表达式语言轻松定义目标方法-->
  18
+	<aop:config>
  19
+	    <!--通过aop定义事务增强切面-->
  20
+		<aop:pointcut id="serviceMethod"
  21
+			expression="execution(* org.zqu.service.*Service.*(..))" />
  22
+		 <!--引用事务增强-->
  23
+		<aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice" />
  24
+	</aop:config>
  25
+	
  26
+	<!--事务增强-->
  27
+	<tx:advice id="txAdvice" transaction-manager="transactionManager">
  28
+		 <!--事务属性定义-->
  29
+		<tx:attributes>
  30
+			<tx:method name="*" />
  31
+		</tx:attributes>
  32
+	</tx:advice>
  33
+    <!-- 基于EHCache的系统缓存管理器-->
  34
+<!--     <bean id="cacheManager" -->
  35
+<!--           class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" -->
  36
+<!--           p:configLocation="classpath:ehcache.xml"/> -->
  37
+</beans>
1  WebRoot/WEB-INF/classes/user.xml
... ...
@@ -0,0 +1 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
33  WebRoot/WEB-INF/jsp/about.jsp
... ...
@@ -0,0 +1,33 @@
  1
+<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2
+<%
  3
+String path = request.getContextPath();
  4
+String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5
+%>
  6
+
  7
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8
+<html>
  9
+  <head>
  10
+    <base href="<%=basePath%>">
  11
+    
  12
+    <title>My JSP 'about.jsp' starting page</title>
  13
+    
  14
+	<meta http-equiv="pragma" content="no-cache">
  15
+	<meta http-equiv="cache-control" content="no-cache">
  16
+	<meta http-equiv="expires" content="0">    
  17
+	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  18
+	<meta http-equiv="description" content="This is my page">
  19
+	<!--
  20
+	<link rel="stylesheet" type="text/css" href="styles.css">
  21
+	-->
  22
+	<link href="styles/main.css" rel="stylesheet" type="text/css">
  23
+	<link href="styles/article.css" rel="stylesheet" type="text/css">
  24
+  </head>
  25
+  
  26
+  <body>
  27
+    <jsp:include page="top.jsp"/>
  28
+	<div class="mian-wrap">
  29
+		<h1>About Me</h1>
  30
+		<p><span class="about">学过ruby,写过java的一软件工程应届生</span></p>
  31
+	</div>
  32
+  </body>
  33
+</html>
66  WebRoot/WEB-INF/jsp/addArticle.jsp
... ...
@@ -0,0 +1,66 @@
  1
+<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2
+<%
  3
+String path = request.getContextPath();
  4
+String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5
+%>
  6
+
  7
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8
+<html>
  9
+  <head>
  10
+    <base href="<%=basePath%>">
  11
+    
  12
+    <title>My JSP 'addArticle.jsp' starting page</title>
  13
+    
  14
+	<meta http-equiv="pragma" content="no-cache">
  15
+	<meta http-equiv="cache-control" content="no-cache">
  16
+	<meta http-equiv="expires" content="0">    
  17
+	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  18
+	<meta http-equiv="description" content="This is my page">
  19
+	<!--
  20
+	<link rel="stylesheet" type="text/css" href="styles.css">
  21
+	-->
  22
+	<link href="styles/main.css" rel="stylesheet" type="text/css">
  23
+	<link href="styles/article.css" rel="stylesheet" type="text/css">
  24
+	
  25
+  </head>
  26
+  
  27
+  <body>
  28
+  
  29
+  <jsp:include page="top.jsp"/>
  30
+  <br/>
  31
+  <br/>
  32
+   <div class="mian-wrap">
  33
+      <form action="<%=path %>/article/new" method="post" >
  34
+   		<div class="row note-title">
  35
+	        <label class="field" for="note_title">题目:</label>
  36
+	        <div>
  37
+	            <input tabindex="1" id="note_title" name="title" type="text" value=""/>
  38
+	        </div>
  39
+    	</div>
  40
+		<div class="row note-text">
  41
+	        <label class="field" for="note_text">正文:</label>
  42
+	        <div>
  43
+	        	<textarea tabindex="2" id="note_text" name="content"></textarea>
  44
+	        </div>
  45
+    	</div>
  46
+    	
  47
+    	<div class="row note-title">
  48
+	        <label class="field" for="note_title">标签:(用逗号分开,不超过五个)</label>
  49
+	        <div>
  50
+	            <input tabindex="1" id="note_title" name="note_tags" type="text" value=""/>
  51
+	        </div>
  52
+    	</div>
  53
+    	
  54
+    	<div class="row footer">
  55
+	        <div class="error-msg board">
  56
+	        </div>
  57
+	        <span>
  58
+	            <input tabindex="7" id="preview_note" value="预览" type="button" class="button" />
  59
+	        </span>
  60
+	        &nbsp;
  61
+	        <input tabindex="8" id="publish_note" value="发表" type="submit" class="btn" name="note_submit" />
  62
+    	</div>
  63
+	  </form>
  64
+   </div>
  65
+  </body>
  66
+</html>
51  WebRoot/WEB-INF/jsp/archives.jsp
... ...
@@ -0,0 +1,51 @@
  1
+<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2
+<%
  3
+String path = request.getContextPath();
  4
+String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5
+%>
  6
+
  7
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  8
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  9
+
  10
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  11
+<html>
  12
+  <head>
  13
+    <base href="<%=basePath%>">
  14
+    
  15
+    <title>My JSP 'index.jsp' starting page</title>
  16
+	<meta http-equiv="pragma" content="no-cache">
  17
+	<meta http-equiv="cache-control" content="no-cache">
  18
+	<meta http-equiv="expires" content="0">    
  19
+	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  20
+	<meta http-equiv="description" content="This is my page">
  21
+	<!--
  22
+	<link rel="stylesheet" type="text/css" href="styles.css">
  23
+	-->
  24
+	<link href="styles/main.css" rel="stylesheet" type="text/css">
  25
+	<script src="js/jquery-1.7.2.js" type="text/javascript"></script>
  26
+	<script type="text/javascript">
  27
+		
  28
+	</script>
  29
+	<link href="styles/article.css" rel="stylesheet" type="text/css">
  30
+   
  31
+  </head> 	
  32
+  <body>
  33
+  	<jsp:include page="top.jsp"/>
  34
+	<div class="mian-wrap">
  35
+	  <div class="main-left">
  36
+		<div id="content-list">
  37
+		  <c:forEach var="post" items="${posts}">  
  38
+			<div class="title"><h2><a href="<%=path %>/article/${post.post_id }">${post.title }</a></h2></div>
  39
+			<p><span class="datetime">${post.created_at }</span></p>
  40
+
  41
+			<div class="share"></div>
  42
+		  </c:forEach>
  43
+		</div>
  44
+	  </div>
  45
+	  <div class="main-right">
  46
+	 
  47
+	  </div>
  48
+	</div>
  49
+	
  50
+  </body>
  51
+</html>
57  WebRoot/WEB-INF/jsp/editArticle.jsp
... ...
@@ -0,0 +1,57 @@
  1
+<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2
+<%
  3
+String path = request.getContextPath();
  4
+String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5
+%>
  6
+
  7
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8
+<html>
  9
+  <head>
  10
+    <base href="<%=basePath%>">
  11
+    
  12
+    <title>My JSP 'showArticle.jsp' starting page</title>
  13
+    
  14
+	<meta http-equiv="pragma" content="no-cache">
  15
+	<meta http-equiv="cache-control" content="no-cache">
  16
+	<meta http-equiv="expires" content="0">    
  17
+	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  18
+	<meta http-equiv="description" content="This is my page">
  19
+	<!--
  20
+	<link rel="stylesheet" type="text/css" href="styles.css">
  21
+	-->
  22
+	<link href="styles/main.css" rel="stylesheet" type="text/css">
  23
+	<link href="styles/article.css" rel="stylesheet" type="text/css">
  24
+  </head>
  25
+  
  26
+  <body>	
  27
+  	<jsp:include page="top.jsp"/>
  28
+    <div class="mian-wrap">
  29
+		<div id="list-content">
  30
+			<div class="title"><h2>${post.title }</h2></div>
  31
+			<p><span class="datetime">${post.created_at }</span></p>
  32
+			<div class="note-content">${post.content } 
  33
+			<br/>
  34
+			<br/><br/><br/><br/><br/><br/><br/><br/>
  35
+			<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  36
+			</div>
  37
+			<div class="share"></div>
  38
+			<div class="comment-list">
  39
+			</div>
  40
+			<h3>
  41
+			你的回应
  42
+			 &nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;
  43
+			</h3>
  44
+			<div class="comment">
  45
+				<form name="comment_form" method="post" action="add_comment">
  46
+			  <div class="item">
  47
+				  <textarea name="rv_comment" rows="4" cols="64"></textarea><br/>
  48
+			  </div>
  49
+				<div class="item">
  50
+				  <span class="bn-flat-hot"><input type="submit" value="加上去"></span>
  51
+				</div>
  52
+			</form>
  53
+			</div>
  54
+		</div>
  55
+	</div>
  56
+  </body>
  57
+</html>
103  WebRoot/WEB-INF/jsp/index.jsp
... ...
@@ -0,0 +1,103 @@
  1
+<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2
+<%
  3
+String path = request.getContextPath();
  4
+String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5
+%>
  6
+
  7
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  8
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  9
+
  10
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  11
+<html>
  12
+  <head>
  13
+    <base href="<%=basePath%>">
  14
+    
  15
+    <title>My JSP 'index.jsp' starting page</title>
  16
+	<meta http-equiv="pragma" content="no-cache">
  17
+	<meta http-equiv="cache-control" content="no-cache">
  18
+	<meta http-equiv="expires" content="0">    
  19
+	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  20
+	<meta http-equiv="description" content="This is my page">
  21
+	<!--
  22
+	<link rel="stylesheet" type="text/css" href="styles.css">
  23
+	-->
  24
+	<link href="styles/main.css" rel="stylesheet" type="text/css">
  25
+	<script src="js/jquery-1.7.2.js" type="text/javascript"></script>
  26
+	<script type="text/javascript">
  27
+		$(document).ready(function () {
  28
+				var bt = $('#toolBackTop');
  29
+				
  30
+		
  31
+				$(window).scroll(function() {
  32
+						var st = $(window).scrollTop();
  33
+						if(st > 30){
  34
+								bt.show();
  35
+						}else{
  36
+								bt.hide();
  37
+						}
  38
+				});
  39
+		})
  40
+		
  41
+		$(function(){
  42
+			var i = 1;
  43
+			$('#load').click(function(){
  44
+				 alert("nothing");
  45
+				 $.getJSON("<%=path%>/article/load",{pageNo:i},function(data){  
  46
+				 alert(data); 
  47
+	                if(data){   
  48
+	                    var str = "";   
  49
+	                    alert(data);
  50
+	                    $.each(data,function(index,post){   
  51
+	                       str = "<div class=\"title\"><h2><a href=\"<%=path %>/article/"+post[post_id]+"\">"+post[title]+"</a></h2></div>"
  52
+	                        $("#container").append(str);   
  53
+	                    });   
  54
+	                    i++;   
  55
+	                }else{   
  56
+	                    $(".nodata").show().html("别滚动了,已经到底了。。。");   
  57
+	                    alert("nothing");
  58
+	                    return false;   
  59
+	                }   
  60
+            	});      
  61
+			})
  62
+		})
  63
+	</script>
  64
+	<link href="styles/article.css" rel="stylesheet" type="text/css">
  65
+   
  66
+  </head> 	
  67
+  <body>
  68
+  	<jsp:include page="top.jsp"/>
  69
+	<div class="mian-wrap">
  70
+	  <div class="main-left">
  71
+		<div id="content-list">
  72
+		  <c:forEach var="post" items="${posts}">  
  73
+			<div class="title"><h2><a href="<%=path %>/article/${post.post_id }">${post.title }</a></h2></div>
  74
+			<p><span class="datetime">${post.created_at }</span>
  75
+				<c:forEach items="${post.tags }" var="tag">
  76
+			    		<span class="tag"><a href="">${tag.name}</a></span>
  77
+	    		</c:forEach>
  78
+			</p>
  79
+			<div class="note-content">${fn:substring(post.content, 0, 200)} 
  80
+			<br/>
  81
+			<br/><br/><br/><br/><br/><br/>
  82
+			<br/>
  83
+			<hr class="hr0"/>
  84
+			
  85
+			
  86
+			</div>
  87
+			<div class="share"></div>
  88
+		  </c:forEach>
  89
+		</div>
  90
+		<div class="more-load">
  91
+			<input type="button" id="load" name="load" value="更多"/>
  92
+		</div>
  93
+	  </div>
  94
+	  <div class="main-right">
  95
+	  	<div style="display:none;" class="back-to" id="toolBackTop">
  96
+			<a title="返回顶部" onClick="window.scrollTo(0,0);return false;" href="#top" class="back-top">
  97
+			<img src="img/back_top.jpg"/></a>
  98
+		</div>
  99
+	  </div>
  100
+	</div>
  101
+	
  102
+  </body>
  103
+</html>
81  WebRoot/WEB-INF/jsp/showArticle.jsp
... ...
@@ -0,0 +1,81 @@
  1
+<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2
+<%
  3
+String path = request.getContextPath();
  4
+String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5
+%>
  6
+
  7
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  8
+
  9
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  10
+<html>
  11
+  <head>
  12
+    <base href="<%=basePath%>">
  13
+    
  14
+    <title>My JSP 'showArticle.jsp' starting page</title>
  15
+    
  16
+	<meta http-equiv="pragma" content="no-cache">
  17
+	<meta http-equiv="cache-control" content="no-cache">
  18
+	<meta http-equiv="expires" content="0">    
  19
+	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  20
+	<meta http-equiv="description" content="This is my page">
  21
+	<!--
  22
+	<link rel="stylesheet" type="text/css" href="styles.css">
  23
+	-->
  24
+	<link href="styles/main.css" rel="stylesheet" type="text/css">
  25
+	<link href="styles/article.css" rel="stylesheet" type="text/css">
  26
+  </head>
  27
+  
  28
+  <body>	
  29
+  	<jsp:include page="top.jsp"/>
  30
+    <div class="mian-wrap">
  31
+		<div id="list-content">
  32
+			<div class="title"><h2>${post.title }</h2></div>
  33
+			<p><span class="datetime">${post.created_at }</span>
  34
+				<c:forEach items="${requestScope.post.tags }" var="tag">
  35
+			    		<span class="tag"><a href="">${tag.name}</a></span>
  36
+	    		</c:forEach>
  37
+			</p>
  38
+			<div class="note-content">${post.content } 
  39
+			<br/>
  40
+			<br/><br/><br/><br/><br/><br/><br/><br/>
  41
+			<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  42
+			</div>
  43
+			<div class="share"></div>
  44
+			<div class="comment-list">
  45
+			    	<c:if test="${requestScope.post.comments !=null}">
  46
+			    		<h2>comments:</h2>
  47
+			    		<% int i=1; %>
  48
+			    		<c:forEach items="${requestScope.post.comments }" var="comment" begin="0">
  49
+			    			<h5>#<%=i++ %>楼:<span class="commentor">${comment.reviewer }</span></h5>
  50
+			    			<p><span class="comment-content">${comment.content }</span></p>
  51
+			    			
  52
+	    				</c:forEach>
  53
+	    			</c:if>	
  54
+			</div>
  55
+			<h3>
  56
+			你的回应
  57
+			 &nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;
  58
+			</h3>
  59
+			<div class="comment">
  60
+				<form name="comment_form" method="post" action="<%=path %>/article/${post.post_id }/comment/create">
  61
+				 <label class="field" for="note_title">name:</label>
  62
+				 <div class="item">
  63
+				 	 <input tabindex="1" name="reviewer" style="width:403px;" type="text" value=""/>
  64
+				 </div>
  65
+				 <label class="field" for="note_title">email:</label>
  66
+				 <div class="item">
  67
+				 	 <input tabindex="2" name="email" style="width:403px;" type="text" value=""/>
  68
+				 </div>
  69
+				 <label class="field" for="note_title">content:</label>
  70
+			  <div class="item">
  71
+				  <textarea tabindex="3" name="content" rows="4" cols="64"></textarea><br/>
  72
+			  </div>
  73
+				<div class="item">
  74
+				  <span class="bn-flat-hot"><input type="submit" value="加上去"></span>
  75
+				</div>
  76
+			</form>
  77
+			</div>
  78
+		</div>
  79
+	</div>
  80
+  </body>
  81
+</html>
15  WebRoot/WEB-INF/jsp/top.jsp
... ...
@@ -0,0 +1,15 @@
  1
+<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2
+<%
  3
+String path = request.getContextPath();
  4
+String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5
+%>
  6
+
  7
+
  8
+    <div id="nav">
  9
+		<ul>
  10
+			<li><a href="" title="主页">Home</a></li>
  11
+			<li><a href="" title="档案">Archives</a></li>
  12
+			<li><a href="<%=path %>/about" title="我">About Me</a></li>
  13
+			<li><a href="" title="推送">Rss</a></li>
  14
+		</ul>
  15
+	</div>
BIN  WebRoot/WEB-INF/lib/IKAnalyzer2012.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/antlr-2.7.6.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/aopalliance.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/aspectjrt.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/aspectjweaver.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/cglib-nodep-2.1_3.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-beanutils-1.7.0.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-beanutils-1.8.2.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-collections-3.1.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-dbcp.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-fileupload-1.2.1.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-fileupload.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-io-1.4.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-io.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-lang.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-logging-1.1.1.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/commons-pool.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/dom4j-1.6.1.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/ehcache-1.5.0.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/ezmorph-1.0.3.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/hibernate-validator-4.3.0.CR1.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/hibernate-validator-annotation-processor-4.3.0.CR1.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/hibernate3.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/jackson-all-1.7.6.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/javassist-3.12.0.GA.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/jboss-logging-3.1.0.CR2.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/json-lib-2.4-jdk15.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/json_simple-1.1.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/jsonplugin-0.34.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/jta-1.1.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/junit-4.8.2.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/lucene-core-3.6.0.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/mysql-connector-java-5.1.13-bin.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.aop-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.asm-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.aspects-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.beans-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.context-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.context.support-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.core-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.expression-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.instrument-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.instrument.tomcat-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.jdbc-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.jms-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.orm-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.oxm-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.test-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.transaction-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.web-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.web.portlet-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.web.servlet-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/org.springframework.web.struts-3.1.1.RELEASE.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/poi-3.7-20101029.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/slf4j-api-1.6.1.jar
Binary file not shown
BIN  WebRoot/WEB-INF/lib/validation-api-1.0.0.GA.jar
Binary file not shown
41  WebRoot/WEB-INF/springMVC-servlet.xml
... ...
@@ -0,0 +1,41 @@
  1
+<beans xmlns="http://www.springframework.org/schema/beans"
  2
+	xmlns:context="http://www.springframework.org/schema/context"
  3
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4
+	xmlns:mvc="http://www.springframework.org/schema/mvc"
  5
+	xsi:schemaLocation="http://www.springframework.org/schema/mvc
  6
+		http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
  7
+        http://www.springframework.org/schema/context 
  8
+        http://www.springframework.org/schema/context/spring-context-3.0.xsd
  9
+		http://www.springframework.org/schema/beans
  10
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  11
+
  12
+	<mvc:resources mapping="/styles/**" location="/styles/"/>
  13
+	<mvc:resources mapping="/js/**" location="/js/"/>
  14
+	<mvc:resources mapping="/img/**" location="/img/"/>
  15
+	<mvc:annotation-driven/>
  16
+	<context:component-scan base-package="com.villins.controller" />
  17
+
  18
+	<bean
  19
+		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
  20
+		<property name="messageConverters">
  21
+			<list>
  22
+				<ref bean="mappingJacksonHttpMessageConverter" />
  23
+			</list>
  24
+		</property>
  25
+	</bean>
  26
+
  27
+	<bean id="mappingJacksonHttpMessageConverter"
  28
+		class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> 
  29
+
  30
+	<bean
  31
+		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  32
+
  33
+		<property name="prefix">
  34
+			<value>/WEB-INF/jsp/</value>
  35
+		</property>
  36
+		<property name="suffix">
  37
+			<value>.jsp</value>
  38
+		</property>
  39
+	</bean>
  40
+
  41
+</beans>
62  WebRoot/WEB-INF/web.xml
... ...
@@ -0,0 +1,62 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
  3
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4
+	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  5
+	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  6
+
  7
+	<welcome-file-list>
  8
+		<welcome-file>/index.jsp</welcome-file>
  9
+	</welcome-file-list>
  10
+
  11
+
  12
+	
  13
+	<filter>
  14
+		<filter-name>Set Character Encoding</filter-name>
  15
+		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  16
+		<init-param>
  17
+			<param-name>encoding</param-name>
  18
+			<param-value>utf8</param-value>
  19
+		</init-param>
  20
+	</filter>
  21
+	<filter-mapping>
  22
+		<filter-name>Set Character Encoding</filter-name>
  23
+		<url-pattern>/*</url-pattern>
  24
+	</filter-mapping>
  25
+	
  26
+	
  27
+	<!-- 激活Tomcat的defaultServlet来处理静态文件 -->
  28
+	<servlet-mapping>
  29
+		<servlet-name>default</servlet-name>
  30
+		<url-pattern>*.jpg</url-pattern>
  31
+	</servlet-mapping>
  32
+	<servlet-mapping>
  33
+		<servlet-name>default</servlet-name>
  34
+		<url-pattern>*.js</url-pattern>
  35
+	</servlet-mapping>
  36
+	<servlet-mapping>
  37
+		<servlet-name>default</servlet-name>
  38
+		<url-pattern>*.css</url-pattern>
  39
+	</servlet-mapping>
  40
+	<!-- END -->
  41
+		
  42
+	<context-param>
  43
+		<param-name>contextConfigLocation</param-name>
  44
+		<param-value>classpath:/applicationContext.xml</param-value>
  45
+	</context-param>
  46
+	<listener>
  47
+		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  48
+	</listener>
  49
+	<servlet>
  50
+		<servlet-name>springMVC</servlet-name>
  51
+		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  52
+		<load-on-startup>1</load-on-startup>
  53
+	</servlet>
  54
+
  55
+	<servlet-mapping>
  56
+		<servlet-name>springMVC</servlet-name>
  57
+		<url-pattern>/</url-pattern>
  58
+	</servlet-mapping>
  59
+	
  60
+
  61
+
  62
+</web-app>
BIN  WebRoot/img/back_top.jpg
BIN  WebRoot/img/btn.jpg
BIN  WebRoot/img/btn_hover.jpg
BIN  WebRoot/img/main_left.jpg
BIN  WebRoot/img/mbtn.jpg
BIN  WebRoot/img/mbtn_hover.jpg
BIN  WebRoot/img/未命名.jpg
27  WebRoot/index.jsp
... ...
@@ -0,0 +1,27 @@
  1
+<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2
+<%
  3
+String path = request.getContextPath();
  4
+String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5
+%>
  6
+
  7
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8
+<html>
  9
+  <head>
  10
+    <base href="<%=basePath%>">
  11
+    
  12
+    <title>My JSP 'index.jsp' starting page</title>
  13
+	<meta http-equiv="pragma" content="no-cache">
  14
+	<meta http-equiv="cache-control" content="no-cache">
  15
+	<meta http-equiv="expires" content="0">    
  16
+	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  17
+	<meta http-equiv="description" content="This is my page">
  18
+	<!--
  19
+	<link rel="stylesheet" type="text/css" href="styles.css">
  20
+	-->
  21
+    <link href="styles/main.css" rel="stylesheet" type="text/css">
  22
+  </head>
  23
+  
  24
+  <body>
  25
+   <jsp:forward page="/index" />
  26
+  </body>
  27
+</html>
9,404  WebRoot/js/jquery-1.7.2.js
9404 additions, 0 deletions not shown
176  WebRoot/js/kindeditor-min.js
... ...
@@ -0,0 +1,176 @@
  1
+/* KindEditor 4.1.1 (2012-06-10), Copyright (C) kindsoft.net, Licence: http://www.kindsoft.net/license.php */(function(z,k){function V(a){if(!a)return!1;return Object.prototype.toString.call(a)==="[object Array]"}function bb(a){if(!a)return!1;return Object.prototype.toString.call(a)==="[object Function]"}function L(a,b){for(var c=0,d=b.length;c<d;c++)if(a===b[c])return c;return-1}function n(a,b){if(V(a))for(var c=0,d=a.length;c<d;c++){if(b.call(a[c],c,a[c])===!1)break}else for(c in a)if(a.hasOwnProperty(c)&&b.call(a[c],c,a[c])===!1)break}function A(a){return a.replace(/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,
  2
+"")}function ma(a,b,c){c=c===k?",":c;return(c+b+c).indexOf(c+a+c)>=0}function q(a){return a&&/^\d+$/.test(a)?a+"px":a}function t(a){var b;return a&&(b=/(\d+)/.exec(a))?parseInt(b[1],10):0}function C(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Ea(a){return a.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&amp;/g,"&")}function ca(a){var b=a.split("-"),a="";n(b,function(b,d){a+=b>0?d.charAt(0).toUpperCase()+d.substr(1):
  3
+d});return a}function na(a){function b(a){a=parseInt(a,10).toString(16).toUpperCase();return a.length>1?a:"0"+a}return a.replace(/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/ig,function(a,d,e,g){return"#"+b(d)+b(e)+b(g)})}function u(a,b){var b=b===k?",":b,c={},d=V(a)?a:a.split(b),e;n(d,function(a,b){if(e=/^(\d+)\.\.(\d+)$/.exec(b))for(var d=parseInt(e[1],10);d<=parseInt(e[2],10);d++)c[d.toString()]=!0;else c[b]=!0});return c}function Fa(a,b){return Array.prototype.slice.call(a,b||0)}function l(a,
  4
+b){return a===k?b:a}function F(a,b,c){c||(c=b,b=null);var d;if(b){var e=function(){};e.prototype=b.prototype;d=new e;n(c,function(a,b){d[a]=b})}else d=c;d.constructor=a;a.prototype=d;a.parent=b?b.prototype:null}function cb(a){var b;if(b=/\{[\s\S]*\}|\[[\s\S]*\]/.exec(a))a=b[0];b=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;b.lastIndex=0;b.test(a)&&(a=a.replace(b,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));
  5
+if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return eval("("+a+")");throw"JSON parse error";}function Qb(a,b,c){a.addEventListener?a.addEventListener(b,c,db):a.attachEvent&&a.attachEvent("on"+b,c)}function oa(a,b,c){a.removeEventListener?a.removeEventListener(b,c,db):a.detachEvent&&a.detachEvent("on"+b,c)}function eb(a,b){this.init(a,b)}function fb(a){try{delete a[W]}catch(b){a.removeAttribute&&
  6
+a.removeAttribute(W)}}function X(a,b,c){if(b.indexOf(",")>=0)n(b.split(","),function(){X(a,this,c)});else{var d=a[W]||null;d||(a[W]=++gb,d=gb);v[d]===k&&(v[d]={});var e=v[d][b];e&&e.length>0?oa(a,b,e[0]):(v[d][b]=[],v[d].el=a);e=v[d][b];e.length===0&&(e[0]=function(b){var c=b?new eb(a,b):k;n(e,function(b,d){b>0&&d&&d.call(a,c)})});L(c,e)<0&&e.push(c);Qb(a,b,e[0])}}function da(a,b,c){if(b&&b.indexOf(",")>=0)n(b.split(","),function(){da(a,this,c)});else{var d=a[W]||null;if(d)if(b===k)d in v&&(n(v[d],
  7
+function(b,c){b!="el"&&c.length>0&&oa(a,b,c[0])}),delete v[d],fb(a));else if(v[d]){var e=v[d][b];if(e&&e.length>0){c===k?(oa(a,b,e[0]),delete v[d][b]):(n(e,function(a,b){a>0&&b===c&&e.splice(a,1)}),e.length==1&&(oa(a,b,e[0]),delete v[d][b]));var g=0;n(v[d],function(){g++});g<2&&(delete v[d],fb(a))}}}}function hb(a,b){if(b.indexOf(",")>=0)n(b.split(","),function(){hb(a,this)});else{var c=a[W]||null;if(c){var d=v[c][b];if(v[c]&&d&&d.length>0)d[0]()}}}function Ga(a,b,c){b=/^\d{2,}$/.test(b)?b:b.toUpperCase().charCodeAt(0);
  8
+X(a,"keydown",function(d){d.ctrlKey&&d.which==b&&!d.shiftKey&&!d.altKey&&(c.call(a),d.stop())})}function ea(a){for(var b={},c=/\s*([\w\-]+)\s*:([^;]*)(;|$)/g,d;d=c.exec(a);){var e=A(d[1].toLowerCase());d=A(na(d[2]));b[e]=d}return b}function J(a){for(var b={},c=/\s+(?:([\w\-:]+)|(?:([\w\-:]+)=([^\s"'<>]+))|(?:([\w\-:"]+)="([^"]*)")|(?:([\w\-:"]+)='([^']*)'))(?=(?:\s|\/|>)+)/g,d;d=c.exec(a);){var e=(d[1]||d[2]||d[4]||d[6]).toLowerCase();b[e]=(d[2]?d[3]:d[4]?d[5]:d[7])||""}return b}function Rb(a,b){return a=
  9
+/\s+class\s*=/.test(a)?a.replace(/(\s+class=["']?)([^"']*)(["']?[\s>])/,function(a,d,e,g){return(" "+e+" ").indexOf(" "+b+" ")<0?e===""?d+b+g:d+e+" "+b+g:a}):a.substr(0,a.length-1)+' class="'+b+'">'}function Sb(a){var b="";n(ea(a),function(a,d){b+=a+":"+d+";"});return b}function pa(a,b,c,d){function e(a){for(var a=a.split("/"),b=[],c=0,d=a.length;c<d;c++){var e=a[c];e==".."?b.length>0&&b.pop():e!==""&&e!="."&&b.push(e)}return"/"+b.join("/")}function g(b,c){if(a.substr(0,b.length)===b){for(var e=[],
  10
+h=0;h<c;h++)e.push("..");h=".";e.length>0&&(h+="/"+e.join("/"));d=="/"&&(h+="/");return h+a.substr(b.length)}else if(f=/^(.*)\//.exec(b))return g(f[1],++c)}b=l(b,"").toLowerCase();a=a.replace(/([^:])\/\//g,"$1/");if(L(b,["absolute","relative","domain"])<0)return a;c=c||location.protocol+"//"+location.host;if(d===k)var h=location.pathname.match(/^(\/.*)\//),d=h?h[1]:"";var f;if(f=/^(\w+:\/\/[^\/]*)/.exec(a)){if(f[1]!==c)return a}else if(/^\w+:/.test(a))return a;/^\//.test(a)?a=c+e(a.substr(1)):/^\w+:\/\//.test(a)||
  11
+(a=c+e(d+"/"+a));b==="relative"?a=g(c+d,0).substr(2):b==="absolute"&&a.substr(0,c.length)===c&&(a=a.substr(c.length));return a}function Q(a,b,c,d,e){var c=c||"",d=l(d,!1),e=l(e,"\t"),g="xx-small,x-small,small,medium,large,x-large,xx-large".split(","),a=a.replace(/(<(?:pre|pre\s[^>]*)>)([\s\S]*?)(<\/pre>)/ig,function(a,b,c,d){return b+c.replace(/<(?:br|br\s[^>]*)>/ig,"\n")+d}),a=a.replace(/<(?:br|br\s[^>]*)\s*\/?>\s*<\/p>/ig,"</p>"),a=a.replace(/(<(?:p|p\s[^>]*)>)\s*(<\/p>)/ig,"$1<br />$2"),a=a.replace(/\u200B/g,
  12
+""),h={};b&&(n(b,function(a,b){for(var c=a.split(","),d=0,e=c.length;d<e;d++)h[c[d]]=u(b)}),h.script||(a=a.replace(/(<(?:script|script\s[^>]*)>)([\s\S]*?)(<\/script>)/ig,"")),h.style||(a=a.replace(/(<(?:style|style\s[^>]*)>)([\s\S]*?)(<\/style>)/ig,"")));var f=[],a=a.replace(/([ \t\n\r]*)<(\/)?([\w\-:]+)((?:\s+|(?:\s+[\w\-:]+)|(?:\s+[\w\-:]+=[^\s"'<>]+)|(?:\s+[\w\-:"]+="[^"]*")|(?:\s+[\w\-:"]+='[^']*'))*)(\/)?>([ \t\n\r]*)/g,function(a,m,r,s,qa,D,G){var m=m||"",r=r||"",k=s.toLowerCase(),l=qa||"",
  13
+s=D?" "+D:"",G=G||"";if(b&&!h[k])return"";s===""&&ib[k]&&(s=" /");jb[k]&&(m&&(m=" "),G&&(G=" "));Ha[k]&&(r?G="\n":m="\n");d&&k=="br"&&(G="\n");if(kb[k]&&!Ha[k])if(d){r&&f.length>0&&f[f.length-1]===k?f.pop():f.push(k);G=m="\n";qa=0;for(D=r?f.length:f.length-1;qa<D;qa++)m+=e,r||(G+=e);s?f.pop():r||(G+=e)}else m=G="";if(l!==""){var w=J(a);if(k==="font"){var o={},H="";n(w,function(a,b){if(a==="color")o.color=b,delete w[a];a==="size"&&(o["font-size"]=g[parseInt(b,10)-1]||"",delete w[a]);a==="face"&&(o["font-family"]=
  14
+b,delete w[a]);a==="style"&&(H=b)});H&&!/;$/.test(H)&&(H+=";");n(o,function(a,b){b!==""&&(/\s/.test(b)&&(b="'"+b+"'"),H+=a+":"+b+";")});w.style=H}n(w,function(a,d){Tb[a]&&(w[a]=a);L(a,["src","href"])>=0&&(w[a]=pa(d,c));(b&&a!=="style"&&!h[k]["*"]&&!h[k][a]||k==="body"&&a==="contenteditable"||/^kindeditor_\d+$/.test(a))&&delete w[a];if(a==="style"&&d!==""){var e=ea(d);n(e,function(a){b&&!h[k].style&&!h[k]["."+a]&&delete e[a]});var g="";n(e,function(a,b){g+=a+":"+b+";"});w.style=g}});l="";n(w,function(a,
  15
+b){a==="style"&&b===""||(b=b.replace(/"/g,"&quot;"),l+=" "+a+'="'+b+'"')})}k==="font"&&(k="span");return m+"<"+r+k+l+s+">"+G}),a=a.replace(/(<(?:pre|pre\s[^>]*)>)([\s\S]*?)(<\/pre>)/ig,function(a,b,c,d){return b+c.replace(/\n/g,'<span id="__kindeditor_pre_newline__">\n')+d}),a=a.replace(/\n\s*\n/g,"\n"),a=a.replace(/<span id="__kindeditor_pre_newline__">\n/g,"\n");return A(a)}function lb(a,b){a=a.replace(/<meta[\s\S]*?>/ig,"").replace(/<![\s\S]*?>/ig,"").replace(/<style[^>]*>[\s\S]*?<\/style>/ig,
  16
+"").replace(/<script[^>]*>[\s\S]*?<\/script>/ig,"").replace(/<w:[^>]+>[\s\S]*?<\/w:[^>]+>/ig,"").replace(/<o:[^>]+>[\s\S]*?<\/o:[^>]+>/ig,"").replace(/<xml>[\s\S]*?<\/xml>/ig,"").replace(/<(?:table|td)[^>]*>/ig,function(a){return a.replace(/border-bottom:([#\w\s]+)/ig,"border:$1")});return Q(a,b)}function mb(a){if(/\.(rm|rmvb)(\?|$)/i.test(a))return"audio/x-pn-realaudio-plugin";if(/\.(swf|flv)(\?|$)/i.test(a))return"application/x-shockwave-flash";return"video/x-ms-asf-plugin"}function nb(a){return J(unescape(a))}
  17
+function Ia(a){var b="<embed ";n(a,function(a,d){b+=a+'="'+d+'" '});b+="/>";return b}function ob(a,b){var c=b.width,d=b.height,e=b.type||mb(b.src),g=Ia(b),h="";c>0&&(h+="width:"+c+"px;");d>0&&(h+="height:"+d+"px;");c=/realaudio/i.test(e)?"ke-rm":/flash/i.test(e)?"ke-flash":"ke-media";c='<img class="'+c+'" src="'+a+'" ';h!==""&&(c+='style="'+h+'" ');c+='data-ke-tag="'+escape(g)+'" alt="" />';return c}function sa(a,b){if(a.nodeType==9&&b.nodeType!=9)return!0;for(;b=b.parentNode;)if(b==a)return!0;return!1}
  18
+function ta(a,b){var b=b.toLowerCase(),c=null;if(!Ub&&a.nodeName.toLowerCase()!="script"){var d=a.ownerDocument.createElement("div");d.appendChild(a.cloneNode(!1));d=J(Ea(d.innerHTML));b in d&&(c=d[b])}else try{c=a.getAttribute(b,2)}catch(e){c=a.getAttribute(b,1)}b==="style"&&c!==null&&(c=Sb(c));return c}function ua(a,b){function c(a){if(typeof a!="string")return a;return a.replace(/([^\w\-])/g,"\\$1")}function d(a,b){return a==="*"||a.toLowerCase()===c(b.toLowerCase())}function e(a,b,c){var e=[];
  19
+(a=(c.ownerDocument||c).getElementById(a.replace(/\\/g,"")))&&d(b,a.nodeName)&&sa(c,a)&&e.push(a);return e}function g(a,b,c){var e=c.ownerDocument||c,g=[],h,f,i;if(c.getElementsByClassName){e=c.getElementsByClassName(a.replace(/\\/g,""));h=0;for(f=e.length;h<f;h++)i=e[h],d(b,i.nodeName)&&g.push(i)}else if(e.querySelectorAll){e=e.querySelectorAll((c.nodeName!=="#document"?c.nodeName+" ":"")+b+"."+a);h=0;for(f=e.length;h<f;h++)i=e[h],sa(c,i)&&g.push(i)}else{e=c.getElementsByTagName(b);a=" "+a+" ";h=
  20
+0;for(f=e.length;h<f;h++)if(i=e[h],i.nodeType==1)(b=i.className)&&(" "+b+" ").indexOf(a)>-1&&g.push(i)}return g}function h(a,b,d,e){for(var g=[],d=e.getElementsByTagName(d),h=0,f=d.length;h<f;h++)e=d[h],e.nodeType==1&&(b===null?ta(e,a)!==null&&g.push(e):b===c(ta(e,a))&&g.push(e));return g}function f(a,b){var c=[],i,j=(i=/^((?:\\.|[^.#\s\[<>])+)/.exec(a))?i[1]:"*";if(i=/#((?:[\w\-]|\\.)+)$/.exec(a))c=e(i[1],j,b);else if(i=/\.((?:[\w\-]|\\.)+)$/.exec(a))c=g(i[1],j,b);else if(i=/\[((?:[\w\-]|\\.)+)\]/.exec(a))c=
  21
+h(i[1].toLowerCase(),null,j,b);else if(i=/\[((?:[\w\-]|\\.)+)\s*=\s*['"]?((?:\\.|[^'"]+)+)['"]?\]/.exec(a)){c=i[1].toLowerCase();i=i[2];if(c==="id")j=e(i,j,b);else if(c==="class")j=g(i,j,b);else if(c==="name"){c=[];i=(b.ownerDocument||b).getElementsByName(i.replace(/\\/g,""));for(var m,s=0,r=i.length;s<r;s++)m=i[s],d(j,m.nodeName)&&sa(b,m)&&m.getAttributeNode("name")&&c.push(m);j=c}else j=h(c,i,j,b);c=j}else{j=b.getElementsByTagName(j);m=0;for(s=j.length;m<s;m++)i=j[m],i.nodeType==1&&c.push(i)}return c}
  22
+var j=a.split(",");if(j.length>1){var m=[];n(j,function(){n(ua(this,b),function(){L(this,m)<0&&m.push(this)})});return m}for(var b=b||document,j=[],r,s=/((?:\\.|[^\s>])+|[\s>])/g;r=s.exec(a);)r[1]!==" "&&j.push(r[1]);r=[];if(j.length==1)return f(j[0],b);var s=!1,k,D,l,o,p,w,ra,H,q,t;w=0;for(lenth=j.length;w<lenth;w++)if(k=j[w],k===">")s=!0;else{if(w>0){D=[];ra=0;for(q=r.length;ra<q;ra++){o=r[ra];l=f(k,o);H=0;for(t=l.length;H<t;H++)p=l[H],s?o===p.parentNode&&D.push(p):D.push(p)}r=D}else r=f(k,b);if(r.length===
  23
+0)return[]}return r}function Y(a){if(!a)return document;return a.ownerDocument||a.document||a}function R(a){if(!a)return z;a=Y(a);return a.parentWindow||a.defaultView}function Vb(a,b){if(a.nodeType==1){var c=Y(a);try{a.innerHTML='<img id="__kindeditor_temp_tag__" width="0" height="0" style="display:none;" />'+b;var d=c.getElementById("__kindeditor_temp_tag__");d.parentNode.removeChild(d)}catch(e){f(a).empty(),f("@"+b,c).each(function(){a.appendChild(this)})}}}function Ja(a,b,c){o&&B<8&&b.toLowerCase()==
  24
+"class"&&(b="className");a.setAttribute(b,""+c)}function Ka(a){if(!a||!a.nodeName)return"";return a.nodeName.toLowerCase()}function Wb(a,b){var c=R(a),d=ca(b),e="";c.getComputedStyle?(c=c.getComputedStyle(a,null),e=c[d]||c.getPropertyValue(b)||a.style[d]):a.currentStyle&&(e=a.currentStyle[d]||a.style[d]);return e}function I(a){a=a||document;return S?a.body:a.documentElement}function Z(a){var a=a||document,b;o||La?(b=I(a).scrollLeft,a=I(a).scrollTop):(b=R(a).scrollX,a=R(a).scrollY);return{x:b,y:a}}
  25
+function E(a){this.init(a)}function pb(a){a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset;return a}function Ma(a,b,c){function d(d,e,g){var h=d.nodeValue.length,j;b&&(j=d.cloneNode(!0),j=e>0?j.splitText(e):j,g<h&&j.splitText(g-e));if(c){var m=d;e>0&&(m=d.splitText(e),a.setStart(d,e));g<h&&(d=m.splitText(g-e),a.setEnd(d,0));f.push(m)}return j}function e(){c&&a.up().collapse(!0);for(var b=0,d=f.length;b<d;b++){var e=f[b];e.parentNode&&e.parentNode.removeChild(e)}}function g(e,
  26
+k){for(var l=e.firstChild,o;l;){o=(new M(h)).selectNode(l);m=o.compareBoundaryPoints(fa,a);m>=0&&r<=0&&(r=o.compareBoundaryPoints(ga,a));r>=0&&s<=0&&(s=o.compareBoundaryPoints($,a));s>=0&&n<=0&&(n=o.compareBoundaryPoints(ha,a));if(n>=0)return!1;o=l.nextSibling;if(m>0)if(l.nodeType==1)if(r>=0&&s<=0)b&&k.appendChild(l.cloneNode(!0)),c&&f.push(l);else{var D;b&&(D=l.cloneNode(!1),k.appendChild(D));if(g(l,D)===!1)return!1}else if(l.nodeType==3&&(l=l==j.startContainer?d(l,j.startOffset,l.nodeValue.length):
  27
+l==j.endContainer?d(l,0,j.endOffset):d(l,0,l.nodeValue.length),b))try{k.appendChild(l)}catch(G){}l=o}}var h=a.doc,f=[],j=a.cloneRange().down(),m=-1,r=-1,s=-1,n=-1,k=a.commonAncestor(),l=h.createDocumentFragment();if(k.nodeType==3)return k=d(k,a.startOffset,a.endOffset),b&&l.appendChild(k),e(),b?l:a;g(k,l);c&&a.up().collapse(!0);for(var k=0,o=f.length;k<o;k++){var p=f[k];p.parentNode&&p.parentNode.removeChild(p)}return b?l:a}function ia(a,b){for(var c=b;c;){var d=f(c);if(d.name=="marquee"||d.name==
  28
+"select")return;c=c.parentNode}try{a.moveToElementText(b)}catch(e){}}function qb(a,b){var c=a.parentElement().ownerDocument,d=a.duplicate();d.collapse(b);var e=d.parentElement(),g=e.childNodes;if(g.length===0)return{node:e.parentNode,offset:f(e).index()};var h=c,i=0,j=-1,m=a.duplicate();ia(m,e);for(var k=0,s=g.length;k<s;k++){var l=g[k],j=m.compareEndPoints("StartToStart",d);if(j===0)return{node:l.parentNode,offset:k};if(l.nodeType==1){var n=a.duplicate(),o,p=f(l),q=l;p.isControl()&&(o=c.createElement("span"),
  29
+p.after(o),q=o,i+=p.text().replace(/\r\n|\n|\r/g,"").length);ia(n,q);m.setEndPoint("StartToEnd",n);j>0?i+=n.text.replace(/\r\n|\n|\r/g,"").length:i=0;o&&f(o).remove()}else l.nodeType==3&&(m.moveStart("character",l.nodeValue.length),i+=l.nodeValue.length);j<0&&(h=l)}if(j<0&&h.nodeType==1)return{node:e,offset:f(e.lastChild).index()+1};if(j>0)for(;h.nextSibling&&h.nodeType==1;)h=h.nextSibling;m=a.duplicate();ia(m,e);m.setEndPoint("StartToEnd",d);i-=m.text.replace(/\r\n|\n|\r/g,"").length;if(j>0&&h.nodeType==
  30
+3)for(c=h.previousSibling;c&&c.nodeType==3;)i-=c.nodeValue.length,c=c.previousSibling;return{node:h,offset:i}}function rb(a,b){var c=a.ownerDocument||a,d=c.body.createTextRange();if(c==a)return d.collapse(!0),d;if(a.nodeType==1&&a.childNodes.length>0){var e=a.childNodes,g;b===0?(g=e[0],e=!0):(g=e[b-1],e=!1);if(!g)return d;if(f(g).name==="head")return b===1&&(e=!0),b===2&&(e=!1),d.collapse(e),d;if(g.nodeType==1){var h=f(g),i;h.isControl()&&(i=c.createElement("span"),e?h.before(i):h.after(i),g=i);ia(d,
  31
+g);d.collapse(e);i&&f(i).remove();return d}a=g;b=e?0:g.nodeValue.length}c=c.createElement("span");f(a).before(c);ia(d,c);d.moveStart("character",b);f(c).remove();return d}function sb(a){function b(a){if(f(a.node).name=="tr")a.node=a.node.cells[a.offset],a.offset=0}var c;if(o){if(a.item)return c=Y(a.item(0)),c=new M(c),c.selectNode(a.item(0)),c;c=a.parentElement().ownerDocument;var d=qb(a,!0),a=qb(a,!1);b(d);b(a);c=new M(c);c.setStart(d.node,d.offset);c.setEnd(a.node,a.offset);return c}d=a.startContainer;
  32
+c=d.ownerDocument||d;c=new M(c);c.setStart(d,a.startOffset);c.setEnd(a.endContainer,a.endOffset);return c}function M(a){this.init(a)}function Na(a){if(!a.nodeName)return a.constructor===M?a:sb(a);return new M(a)}function N(a,b,c){try{a.execCommand(b,!1,c)}catch(d){}}function tb(a,b){var c="";try{c=a.queryCommandValue(b)}catch(d){}typeof c!=="string"&&(c="");return c}function Oa(a){var b=R(a);return a.selection||b.getSelection()}function ub(a){var b={},c,d;n(a,function(a,g){c=a.split(",");for(var h=
  33
+0,f=c.length;h<f;h++)d=c[h],b[d]=g});return b}function Pa(a,b){return vb(a,b,"*")||vb(a,b)}function vb(a,b,c){c=c||a.name;if(a.type!==1)return!1;b=ub(b);if(!b[c])return!1;for(var c=b[c].split(","),b=0,d=c.length;b<d;b++){var e=c[b];if(e==="*")return!0;var g=/^(\.?)([^=]+)(?:=([^=]*))?$/.exec(e),h=g[1]?"css":"attr",e=g[2],g=g[3]||"";if(g===""&&a[h](e)!=="")return!0;if(g!==""&&a[h](e)===g)return!0}return!1}function Qa(a,b){a.type==1&&(wb(a,b,"*"),wb(a,b))}function wb(a,b,c){c=c||a.name;if(a.type===
  34
+1&&(b=ub(b),b[c])){for(var c=b[c].split(","),b=!1,d=0,e=c.length;d<e;d++){var g=c[d];if(g==="*"){b=!0;break}var h=/^(\.?)([^=]+)(?:=([^=]*))?$/.exec(g),g=h[2];h[1]?(g=ca(g),a[0].style[g]&&(a[0].style[g]="")):a.removeAttr(g)}b&&a.remove(!0)}}function Ra(a){for(;a.first();)a=a.first();return a}function aa(a){return a.type==1&&a.html().replace(/<[^>]+>/g,"")===""}function Xb(a,b,c){n(b,function(b,c){b!=="style"&&a.attr(b,c)});n(c,function(b,c){a.css(b,c)})}function xb(a){for(;a&&a.name!="body";){if(Ha[a.name]||
  35
+a.name=="div"&&a.hasClass("ke-script"))return!0;a=a.parent()}return!1}function va(a){this.init(a)}function yb(a){a.nodeName&&(a=Y(a),a=Na(a).selectNodeContents(a.body).collapse(!1));return new va(a)}function Sa(a){var b=a.moveEl,c=a.moveFn,d=a.clickEl||b,e=a.beforeDrag,g=[document],h=[{x:0,y:0}],i=[];(a.iframeFix===k||a.iframeFix)&&f("iframe").each(function(){var a;try{a=Ta(this),f(a)}catch(b){a=null}a&&(g.push(a),h.push(f(this).pos()))});d.mousedown(function(a){var m=d.get(),k=t(b.css("left")),s=
  36
+t(b.css("top")),l=b.width(),o=b.height(),p=a.pageX,q=a.pageY,u=!0;e&&e();n(g,function(a,b){function e(b){if(u){var g=O(h[a].x+b.pageX-p),f=O(h[a].y+b.pageY-q);c.call(d,k,s,l,o,g,f)}b.stop()}function g(a){a.stop()}function j(a){u=!1;m.releaseCapture&&m.releaseCapture();n(i,function(){f(this.doc).unbind("mousemove",this.move).unbind("mouseup",this.up).unbind("selectstart",this.select)});a.stop()}f(b).mousemove(e).mouseup(j).bind("selectstart",g);i.push({doc:b,move:e,up:j,select:g})});m.setCapture&&
  37
+m.setCapture()})}function P(a){this.init(a)}function Ua(a){return new P(a)}function Ta(a){a=f(a)[0];return a.contentDocument||a.contentWindow.document}function Yb(a,b,c,d){var e=[Va===""?"<html>":'<html dir="'+Va+'">','<head><meta charset="utf-8" /><title></title>',"<style>","html {margin:0;padding:0;}","body {margin:0;padding:5px;}",'body, td {font:12px/1.5 "sans serif",tahoma,verdana,helvetica;}',"body, p, div {word-wrap: break-word;}","p {margin:5px 0;}","table {border-collapse:collapse;}","img {border:0;}",
  38
+"noscript {display:none;}","table.ke-zeroborder td {border:1px dotted #AAA;}","img.ke-flash {","\tborder:1px solid #AAA;","\tbackground-image:url("+a+"common/flash.gif);","\tbackground-position:center center;","\tbackground-repeat:no-repeat;","\twidth:100px;","\theight:100px;","}","img.ke-rm {","\tborder:1px solid #AAA;","\tbackground-image:url("+a+"common/rm.gif);","\tbackground-position:center center;","\tbackground-repeat:no-repeat;","\twidth:100px;","\theight:100px;","}","img.ke-media {","\tborder:1px solid #AAA;",
  39
+"\tbackground-image:url("+a+"common/media.gif);","\tbackground-position:center center;","\tbackground-repeat:no-repeat;","\twidth:100px;","\theight:100px;","}","img.ke-anchor {","\tborder:1px dashed #666;","\twidth:16px;","\theight:16px;","}",".ke-script, .ke-noscript {","\tdisplay:none;","\tfont-size:0;","\twidth:0;","\theight:0;","}",".ke-pagebreak {","\tborder:1px dotted #AAA;","\tfont-size:0;","\theight:2px;","}","</style>"];V(c)||(c=[c]);n(c,function(a,b){b&&e.push('<link href="'+b+'" rel="stylesheet" />')});
  40
+d&&e.push("<style>"+d+"</style>");e.push("</head><body "+(b?'class="'+b+'"':"")+"></body></html>");return e.join("\n")}function ja(a,b){return a.hasVal()?a.val(b):a.html(b)}function wa(a){this.init(a)}function zb(a){return new wa(a)}function Ab(a,b){var c=this.get(a);c&&!c.hasClass("ke-disabled")&&b(c)}function Wa(a){this.init(a)}function Bb(a){return new Wa(a)}function xa(a){this.init(a)}function Xa(a){return new xa(a)}function ya(a){this.init(a)}function Cb(a){return new ya(a)}function Db(a){this.init(a)}
  41
+function za(a){this.init(a)}function Eb(a){return new za(a)}function Ya(a,b){var c=document.getElementsByTagName("head")[0]||(S?document.body:document.documentElement),d=document.createElement("script");c.appendChild(d);d.src=a;d.charset="utf-8";d.onload=d.onreadystatechange=function(){if(!this.readyState||this.readyState==="loaded")b&&b(),d.onload=d.onreadystatechange=null,c.removeChild(d)}}function Fb(a){var b=a.indexOf("?");return b>0?a.substr(0,b):a}function Za(a){for(var b=document.getElementsByTagName("head")[0]||
  42
+(S?document.body:document.documentElement),c=document.createElement("link"),d=Fb(pa(a,"absolute")),e=f('link[rel="stylesheet"]',b),g=0,h=e.length;g<h;g++)if(Fb(pa(e[g].href,"absolute"))===d)return;b.appendChild(c);c.href=a;c.rel="stylesheet"}function Gb(a,b){if(a===k)return T;if(!b)return T[a];T[a]=b}function Hb(a){var b,c="core";if(b=/^(\w+)\.(\w+)$/.exec(a))c=b[1],a=b[2];return{ns:c,key:a}}function Ib(a,b){b=b===k?f.options.langType:b;if(typeof a==="string"){if(!K[b])return"no language";var c=a.length-
  43
+1;if(a.substr(c)===".")return K[b][a.substr(0,c)];c=Hb(a);return K[b][c.ns][c.key]}n(a,function(a,c){var g=Hb(a);K[b]||(K[b]={});K[b][g.ns]||(K[b][g.ns]={});K[b][g.ns][g.key]=c})}function Aa(a,b){if(!a.collapsed){var a=a.cloneRange().up(),c=a.startContainer,d=a.startOffset;if(ba||a.isControl())if((c=f(c.childNodes[d]))&&c.name=="img"&&b(c))return c}}function Zb(){var a=this;f(a.edit.doc).contextmenu(function(b){a.menu&&a.hideMenu();if(a.useContextmenu){if(a._contextmenus.length!==0){var c=0,d=[];
  44
+for(n(a._contextmenus,function(){if(this.title=="-")d.push(this);else if(this.cond&&this.cond()&&(d.push(this),this.width&&this.width>c))c=this.width});d.length>0&&d[0].title=="-";)d.shift();for(;d.length>0&&d[d.length-1].title=="-";)d.pop();var e=null;n(d,function(a){this.title=="-"&&e.title=="-"&&delete d[a];e=this});if(d.length>0){b.preventDefault();var g=f(a.edit.iframe).pos(),h=Xa({x:g.x+b.clientX,y:g.y+b.clientY,width:c,css:{visibility:"hidden"},shadowMode:a.shadowMode});n(d,function(){this.title&&
  45
+h.addItem(this)});var g=I(h.doc),i=h.div.height();b.clientY+i>=g.clientHeight-100&&h.pos(h.x,t(h.y)-i);h.div.css("visibility","visible");a.menu=h}}}else b.preventDefault()})}function $b(){function a(a){for(a=f(a.commonAncestor());a;){if(a.type==1&&!a.isStyle())break;a=a.parent()}return a.name}var b=this,c=b.edit.doc,d=b.newlineTag;if(!(o&&d!=="br")&&(!ka||!(B<3&&d!=="p"))&&!(La&&B<9)){var e=u("h1,h2,h3,h4,h5,h6,pre,li"),g=u("p,h1,h2,h3,h4,h5,h6,pre,li,blockquote");f(c).keydown(function(f){if(!(f.which!=
  46
+13||f.shiftKey||f.ctrlKey||f.altKey)){b.cmd.selection();var i=a(b.cmd.range);i=="marquee"||i=="select"||(d==="br"&&!e[i]?(f.preventDefault(),b.insertHtml("<br />"+(o&&B<9?"":"\u200b"))):g[i]||N(c,"formatblock","<p>"))}});f(c).keyup(function(e){if(!(e.which!=13||e.shiftKey||e.ctrlKey||e.altKey)&&d!="br")if(b.cmd.selection(),e=a(b.cmd.range),!(e=="marquee"||e=="select"))if(g[e]||N(c,"formatblock","<p>"),e=b.cmd.commonAncestor("div")){for(var i=f("<p></p>"),j=e[0].firstChild;j;){var m=j.nextSibling;
  47
+i.append(j);j=m}e.before(i);e.remove();b.cmd.range.selectNodeContents(i[0]);b.cmd.select()}})}}function ac(){var a=this,b=a.edit.doc;f(b).keydown(function(c){if(c.which==9)if(c.preventDefault(),a.afterTab)a.afterTab.call(a,c);else{var c=a.cmd,d=c.range;d.shrink();d.collapsed&&d.startContainer.nodeType==1&&(d.insertNode(f("@&nbsp;",b)[0]),c.select());a.insertHtml("&nbsp;&nbsp;&nbsp;&nbsp;")}})}function bc(){var a=this;f(a.edit.textarea[0],a.edit.win).focus(function(b){a.afterFocus&&a.afterFocus.call(a,
  48
+b)}).blur(function(b){a.afterBlur&&a.afterBlur.call(a,b)})}function U(a){return A(a.replace(/<span [^>]*id="?__kindeditor_bookmark_\w+_\d+__"?[^>]*><\/span>/ig,""))}function $a(a){return a.replace(/<div[^>]+class="?__kindeditor_paste__"?[^>]*>[\s\S]*?<\/div>/ig,"")}function Jb(a,b){if(a.length===0)a.push(b);else{var c=a[a.length-1];U(b.html)!==U(c.html)&&a.push(b)}}function Kb(a,b){var c=this.edit,d=c.doc.body,e,g;if(a.length===0)return this;c.designMode?(e=this.cmd.range,g=e.createBookmark(!0),g.html=
  49
+d.innerHTML):g={html:d.innerHTML};Jb(b,g);var h=a.pop();U(g.html)===U(h.html)&&a.length>0&&(h=a.pop());c.designMode?(c.html(h.html),h.start&&(e.moveToBookmark(h),this.select())):f(d).html(U(h.html));return this}function la(a){function b(a,b){la.prototype[a]===k&&(c[a]=b);c.options[a]=b}var c=this;c.options={};n(a,function(c){b(c,a[c])});n(f.options,function(a,d){c[a]===k&&b(a,d)});var d=f(c.srcElement||"<textarea/>");if(!c.width)c.width=d[0].style.width||d.width();if(!c.height)c.height=d[0].style.height||
  50
+d.height();b("width",l(c.width,c.minWidth));b("height",l(c.height,c.minHeight));b("width",q(c.width));b("height",q(c.height));if(cc&&(!dc||B<534))c.designMode=!1;c.srcElement=d;c.initContent="";c.plugin={};c.isCreated=!1;c.isLoading=!1;c._handlers={};c._contextmenus=[];c._undoStack=[];c._redoStack=[];c._calledPlugins={};c._firstAddBookmark=!0;c.menu=c.contextmenu=null;c.dialogs=[]}function Lb(a,b){function c(a){n(T,function(b,c){c.call(a,KindEditor)});return a.create()}b=b||{};b.basePath=l(b.basePath,
  51
+f.basePath);b.themesPath=l(b.themesPath,b.basePath+"themes/");b.langPath=l(b.langPath,b.basePath+"lang/");b.pluginsPath=l(b.pluginsPath,b.basePath+"plugins/");if(l(b.loadStyleMode,f.options.loadStyleMode)){var d=l(b.themeType,f.options.themeType);Za(b.themesPath+"default/default.css");Za(b.themesPath+d+"/"+d+".css")}if(d=f(a)){if(d.length>1)return d.each(function(){Lb(this,b)}),_instances[0];b.srcElement=d[0];var e=new la(b);_instances.push(e);if(K[e.langType])return c(e);Ya(e.langPath+e.langType+
  52
+".js?ver="+encodeURIComponent(f.DEBUG?Ba:Ca),function(){c(e)});return e}}if(!z.KindEditor){if(!z.console)z.console={};if(!console.log)console.log=function(){};var Ca="4.1.1 (2012-06-10)",p=navigator.userAgent.toLowerCase(),o=p.indexOf("msie")>-1&&p.indexOf("opera")==-1,ka=p.indexOf("gecko")>-1&&p.indexOf("khtml")==-1,ba=p.indexOf("applewebkit")>-1,La=p.indexOf("opera")>-1,cc=p.indexOf("mobile")>-1,dc=/ipad|iphone|ipod/.test(p),S=document.compatMode!="CSS1Compat",B=(p=/(?:msie|firefox|webkit|opera)[\/:\s](\d+)/.exec(p))?
  53
+p[1]:"0",Ba=(new Date).getTime(),O=Math.round,f={DEBUG:!1,VERSION:Ca,IE:o,GECKO:ka,WEBKIT:ba,OPERA:La,V:B,TIME:Ba,each:n,isArray:V,isFunction:bb,inArray:L,inString:ma,trim:A,addUnit:q,removeUnit:t,escape:C,unescape:Ea,toCamel:ca,toHex:na,toMap:u,toArray:Fa,undef:l,invalidUrl:function(a){return!a||/[<>"]/.test(a)},addParam:function(a,b){return a.indexOf("?")>=0?a+"&"+b:a+"?"+b},extend:F,json:cb},jb=u("a,abbr,acronym,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,img,input,ins,kbd,label,map,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"),
  54
+kb=u("address,applet,blockquote,body,center,dd,dir,div,dl,dt,fieldset,form,frameset,h1,h2,h3,h4,h5,h6,head,hr,html,iframe,ins,isindex,li,map,menu,meta,noframes,noscript,object,ol,p,pre,script,style,table,tbody,td,tfoot,th,thead,title,tr,ul"),ib=u("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),Mb=u("b,basefont,big,del,em,font,i,s,small,span,strike,strong,sub,sup,u"),ec=u("img,table,input,textarea,button"),Ha=u("pre,style,script"),Da=u("html,head,body,td,tr,table,ol,ul,li");
  55
+u("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr");var Tb=u("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),Nb=u("input,button,textarea,select");f.basePath=function(){for(var a=document.getElementsByTagName("script"),b,c=0,d=a.length;c<d;c++)if(b=a[c].src||"",/kindeditor[\w\-\.]*\.js/.test(b))return b.substring(0,b.lastIndexOf("/")+1);return""}();f.options={designMode:!0,fullscreenMode:!1,filterMode:!0,wellFormatMode:!0,shadowMode:!0,loadStyleMode:!0,
  56
+basePath:f.basePath,themesPath:f.basePath+"themes/",langPath:f.basePath+"lang/",pluginsPath:f.basePath+"plugins/",themeType:"default",langType:"zh_CN",urlType:"",newlineTag:"p",resizeType:2,syncType:"form",pasteType:2,dialogAlignType:"page",useContextmenu:!0,fullscreenShortcut:!0,bodyClass:"ke-content",indentChar:"\t",cssPath:"",cssData:"",minWidth:650,minHeight:100,minChangeSize:5,items:["source","|","undo","redo","|","preview","print","template","code","cut","copy","paste","plainpaste","wordpaste",
  57
+"|","justifyleft","justifycenter","justifyright","justifyfull","insertorderedlist","insertunorderedlist","indent","outdent","subscript","superscript","clearhtml","quickformat","selectall","|","fullscreen","/","formatblock","fontname","fontsize","|","forecolor","hilitecolor","bold","italic","underline","strikethrough","lineheight","removeformat","|","image","multiimage","flash","media","insertfile","table","hr","emoticons","baidumap","pagebreak","anchor","link","unlink","|","about"],noDisableItems:["source",
  58
+"fullscreen"],colorTable:[["#E53333","#E56600","#FF9900","#64451D","#DFC5A4","#FFE500"],["#009900","#006600","#99BB00","#B8D100","#60D978","#00D5FF"],["#337FE5","#003399","#4C33E5","#9933E5","#CC33E5","#EE33EE"],["#FFFFFF","#CCCCCC","#999999","#666666","#333333","#000000"]],fontSizeTable:["9px","10px","12px","14px","16px","18px","24px","32px"],htmlTags:{font:["color","size","face",".background-color"],span:[".color",".background-color",".font-size",".font-family",".background",".font-weight",".font-style",
  59
+".text-decoration",".vertical-align",".line-height"],div:["align",".border",".margin",".padding",".text-align",".color",".background-color",".font-size",".font-family",".font-weight",".background",".font-style",".text-decoration",".vertical-align",".margin-left"],table:["border","cellspacing","cellpadding","width","height","align","bordercolor",".padding",".margin",".border","bgcolor",".text-align",".color",".background-color",".font-size",".font-family",".font-weight",".font-style",".text-decoration",
  60
+".background",".width",".height",".border-collapse"],"td,th":["align","valign","width","height","colspan","rowspan","bgcolor",".text-align",".color",".background-color",".font-size",".font-family",".font-weight",".font-style",".text-decoration",".vertical-align",".background",".border"],a:["href","target","name"],embed:["src","width","height","type","loop","autostart","quality",".width",".height","align","allowscriptaccess"],img:["src","width","height","border","alt","title","align",".width",".height",
  61
+".border"],"p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6":["align",".text-align",".color",".background-color",".font-size",".font-family",".background",".font-weight",".font-style",".text-decoration",".vertical-align",".text-indent",".margin-left"],pre:["class"],hr:["class",".page-break-after"],"br,tbody,tr,strong,b,sub,sup,em,i,u,strike,s,del":[]},layout:'<div class="container"><div class="toolbar"></div><div class="edit"></div><div class="statusbar"></div></div>'};var db=!1,Ob=u("8,9,13,32,46,48..57,59,61,65..90,106,109..111,188,190..192,219..222"),
  62
+p=u("33..40"),ab={};n(Ob,function(a,b){ab[a]=b});n(p,function(a,b){ab[a]=b});var fc="altKey,attrChange,attrName,bubbles,button,cancelable,charCode,clientX,clientY,ctrlKey,currentTarget,data,detail,eventPhase,fromElement,handler,keyCode,metaKey,newValue,offsetX,offsetY,originalTarget,pageX,pageY,prevValue,relatedNode,relatedTarget,screenX,screenY,shiftKey,srcElement,target,toElement,view,wheelDelta,which".split(",");F(eb,{init:function(a,b){var c=this,d=a.ownerDocument||a.document||a;c.event=b;n(fc,
  63
+function(a,d){c[d]=b[d]});if(!c.target)c.target=c.srcElement||d;if(c.target.nodeType===3)c.target=c.target.parentNode;if(!c.relatedTarget&&c.fromElement)c.relatedTarget=c.fromElement===c.target?c.toElement:c.fromElement;if(c.pageX==null&&c.clientX!=null){var e=d.documentElement,d=d.body;c.pageX=c.clientX+(e&&e.scrollLeft||d&&d.scrollLeft||0)-(e&&e.clientLeft||d&&d.clientLeft||0);c.pageY=c.clientY+(e&&e.scrollTop||d&&d.scrollTop||0)-(e&&e.clientTop||d&&d.clientTop||0)}if(!c.which&&(c.charCode||c.charCode===
  64
+0?c.charCode:c.keyCode))c.which=c.charCode||c.keyCode;if(!c.metaKey&&c.ctrlKey)c.metaKey=c.ctrlKey;if(!c.which&&c.button!==k)c.which=c.button&1?1:c.button&2?3:c.button&4?2:0;switch(c.which){case 186:c.which=59;break;case 187:case 107:case 43:c.which=61;break;case 189:case 45:c.which=109;break;case 42:c.which=106;break;case 47:c.which=111;break;case 78:c.which=110}c.which>=96&&c.which<=105&&(c.which-=48)},preventDefault:function(){var a=this.event;a.preventDefault&&a.preventDefault();a.returnValue=
  65
+!1},stopPropagation:function(){var a=this.event;a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0},stop:function(){this.preventDefault();this.stopPropagation()}});var W="kindeditor_"+Ba,gb=0,v={};o&&z.attachEvent("onunload",function(){n(v,function(a,b){b.el&&da(b.el)})});f.ctrl=Ga;f.ready=function(a){function b(){e||(e=!0,a(KindEditor))}function c(){if(!e){try{document.documentElement.doScroll("left")}catch(a){setTimeout(c,100);return}b()}}function d(){document.readyState==="complete"&&b()}
  66
+var e=!1;if(document.addEventListener)X(document,"DOMContentLoaded",b);else if(document.attachEvent){X(document,"readystatechange",d);var g=!1;try{g=z.frameElement==null}catch(f){}document.documentElement.doScroll&&g&&c()}X(z,"load",b)};f.formatUrl=pa;f.formatHtml=Q;f.getCssList=ea;f.getAttrList=J;f.mediaType=mb;f.mediaAttrs=nb;f.mediaEmbed=Ia;f.mediaImg=ob;f.clearMsWord=lb;f.tmpl=function(a,b){var c=new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+a.replace(/[\r\t\n]/g,
  67
+" ").split("<%").join("