HTML转JSP样式无效咋办?

di_yun_hah 2017-12-29 03:31:32
JSP放在webApp下面,WEB-INF外面,样式文件也在同一目录下
<link rel="stylesheet" type="text/css" href="css/normalize.css" />
<link rel="stylesheet" type="text/css" href="css/demo.css" />
<!--必要样式-->
<link rel="stylesheet" type="text/css" href="css/component.css" />

怎么就是引用不到呢
...全文
1284 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmqw 2018-01-02
  • 打赏
  • 举报
回复
路径有问题,你在浏览器看下现在的css引用路径,然后改成正确的
xls丶 2018-01-02
  • 打赏
  • 举报
回复
${pageContext.request.contextPath}/....用绝对路径,没点事
天心无缺 2018-01-02
  • 打赏
  • 举报
回复
前面加./试试,目录层级没取到值,或者/WEB-INF/css/
什么都不能 2018-01-01
  • 打赏
  • 举报
回复
首先你看下在浏览器里怎样的地址能访问到css文件,你的url资源又是什么样子的?
更好的自己520 2017-12-30
  • 打赏
  • 举报
回复
引用不到肯定是你的路径有问题导致的,好好检查下路径
qq_41228556 2017-12-29
  • 打赏
  • 举报
回复
web.xml 有没有设定通过静态文件 <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/css/*</url-pattern> </servlet-mapping>
Sunyiban 2017-12-29
  • 打赏
  • 举报
回复
路径前面加个/
di_yun_hah 2017-12-29
  • 打赏
  • 举报
回复
3L哪个没有用,我需要相对路径的,在idea里面
di_yun_hah 2017-12-29
  • 打赏
  • 举报
回复
自由自在_Yu 2017-12-29
  • 打赏
  • 举报
回复 2
路径写的不对, <link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/normalize.css" />
PrettyTutu 2017-12-29
  • 打赏
  • 举报
回复
在你的页面上加上
<%   
String path = request.getContextPath();   
String basePath = request.getScheme()+"://" +request.getServerName()+":" +request.getServerPort()+path+"/" ;   
%>   
<base href="<%=basePath%>" > 
后边就可以使用绝对路径 前提是你的绝对路径对
lin351550660 2017-12-29
  • 打赏
  • 举报
回复
1、使用绝对路径---试试 2、去打印一下 jsp 当前的默认路径 一般都会有基础作用路径的,估计是和你当前的目录不匹配:打一个比方 你的请求是 http://localhost:8080/aaa/bbb/ccc.jsp 他的路径一般是http://localhost:8080/aaa/bbb/ 然后你用相对路径 他就会去访问 http://localhost:8080/aaa/bbb/ddd.css 而你的css 文件又不在这个域里面。 所以最好你的css 路径是以 $( basepath)/css/ddd.css 最好了
JspRun!是飞速创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。JspRun! 的基础架构采用世界上最先进流行的 web 编程组合 JAVA MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的有效分离,提高了层次结构的清晰度,提高了复用的粒度降低了开发代价和维护代价,同时保证了软件的质量使其更具有鲁棒性和可维护性。   对于站长而言,利用 JspRun! 均能够在最短的时间内,花费最低的费用,采用最少的人力,架设一个性能优异、功能全面、安全稳定的社区论坛平台。   对于网民而言,注册任何一个由 JspRun! 软件系统建立的网站/论坛,将能方便、快捷地享受到论坛带来的互动体验,进行发/回帖、添加/修改资料、站内短信、社区搜索等数百项基本论坛操作,以及进行社区交易、论坛悬赏等数十项高级社区应用。 2011年05月16日更新内容部分列表 修复功能1、 修复了:主题回收站显示内容过长时,没有限制显示宽度的问题。 2、 修复了:在某些运行环境中(例如在 LINUX下的 Weblogic10.3 服务器上)用户无法正常上传附件的问题 3、 修复了:审核主题和审核回复操作中可能存在的安全隐患。 4、 修复了:隐藏版块出现在统计-版块排行中的问题 5、 修复了:设置精华帖时,显示的精华图片不随论坛风格变化的问题 6、 修复了:在首页进行登录时,如果直接敲回车会有 javascript 错误 7、 修复了:编辑器在部分浏览器下 JspRun!代码模式和所见即所得模式无法切换的问题。 8、 修改了:编辑用户组时,用户组显示的顺序不正确的问题。 9、 修改了:论坛编辑主题帖时,标题为空的问题 10、修复了:主题分类信息选项排序无效的问题和部分选项设置最大、或最小值后 无法去掉的问题 11、修改了:编辑具有“分类信息”的主题时,分类信息不排序的问题。 12、修改了:在后台修改分类选项的选项内容后,前台使用该分类选项的主题中的选项内容出现错误的问题。 13、修复了:设置“论坛关闭的原因”后,当论坛关闭时出现的提示信息仍为默认的提示信息的错误。 14、修复了:审核主题和审核回复时,如果帖子内容过长,则样式显示不正确的问题。 15、修复了:通过后台添加一个用户时,该用户收到的账号开通邮件中,密码不正确的问题。 16、修复了:编辑、引用帖子时HTML代码的显示错误 17、修复了:查看投票用户时逻辑计算错误的问题。 18、修复了:对联广告在分辨率高情况下不对称。 19、修复了:当发帖需要验证码或验证问答时,游客发帖可能提示“论坛更新中”的问题。 20、修复了:“提示信息跳设置”修改后,部分用户没有即时按照新设置进行跳的问题。 21、修复了:当更换模板后,部分图片没有更换的问题。 22、修复了:通过 wap 浏览主题时,可能产生错误的问题。 23、修改了:Js 调用所产生的论坛链接不能生成静态 URL 的问题。 24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读权限的主题时,没有显示提示信息的问题。 27、修改了:当编辑“活动主题”时,“插入图片”等按钮没有作用的问题。 28、修改了:开启干扰码功能后,用 IE 浏览器浏览主题时可能出现乱码现象。 29、修改了:不能正常对论坛的第一个主题进行“移动主题并保留镜像”操作的问题。 30、修复了:在分类浏览主题列表时,可能被浏览者恶意访问的问题。 31、修复了:公告没有分页效果的问题。 32、修复了:搜索标签时,未过滤搜索关键字的问题 33、修复了:统计功能中,“积分排行”的缓存不起作用的问题。 34、修复了:后台查看禁止用户记录时,页面样式的错误。 35、修复了:论坛控制面版的公众用户组功能不是公众用户组的也会显示加入的问题 36、修复了:后台设置积分过大后,会导致前台计算积分错误的问题 37、修复了:后台对“类别信息”进行设置时,如果信息列表中存在两类及以上的信息时,不能对所有信息同时进行编辑的问题。 38、修改了:对某板块最后回复的主题进行镜像移动后,无法从板块的“最后发表”处查看主题的问题。 39、修复了:某板块被删除后,原可以在该板块下使用的道具都无法购买的问题。 40、修改了:发表主题扣除积分没有进行验证 ,在特定情况下导致用户的用户组因积分问题改变。 41、修改了:添加“页尾通栏广告”后,广告的样式有误的问题。 42、修复了:部分浏览器下表情列表出现undefined的情况。 43、增强了对一些主流 WEB 服务器的兼容性。 44、更多细节问题的修复。 优化功能 1、优化了 WAP 功能中的浏览主题操作。 2、对论坛代码进行了大量优化。 3、更多细节方面的优化。
JspRun!是飞速创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。JspRun! 的基础架构采用世界上最先进流行的 web 编程组合 JAVA MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的有效分离,提高了层次结构的清晰度,提高了复用的粒度降低了开发代价和维护代价,同时保证了软件的质量使其更具有鲁棒性和可维护性。   对于站长而言,利用 JspRun! 均能够在最短的时间内,花费最低的费用,采用最少的人力,架设一个性能优异、功能全面、安全稳定的社区论坛平台。   对于网民而言,注册任何一个由 JspRun! 软件系统建立的网站/论坛,将能方便、快捷地享受到论坛带来的互动体验,进行发/回帖、添加/修改资料、站内短信、社区搜索等数百项基本论坛操作,以及进行社区交易、论坛悬赏等数十项高级社区应用。 2011年05月16日更新内容部分列表 修复功能1、 修复了:主题回收站显示内容过长时,没有限制显示宽度的问题。 2、 修复了:在某些运行环境中(例如在 LINUX下的 Weblogic10.3 服务器上)用户无法正常上传附件的问题 3、 修复了:审核主题和审核回复操作中可能存在的安全隐患。 4、 修复了:隐藏版块出现在统计-版块排行中的问题 5、 修复了:设置精华帖时,显示的精华图片不随论坛风格变化的问题 6、 修复了:在首页进行登录时,如果直接敲回车会有 javascript 错误 7、 修复了:编辑器在部分浏览器下 JspRun!代码模式和所见即所得模式无法切换的问题。 8、 修改了:编辑用户组时,用户组显示的顺序不正确的问题。 9、 修改了:论坛编辑主题帖时,标题为空的问题 10、修复了:主题分类信息选项排序无效的问题和部分选项设置最大、或最小值后 无法去掉的问题 11、修改了:编辑具有“分类信息”的主题时,分类信息不排序的问题。 12、修改了:在后台修改分类选项的选项内容后,前台使用该分类选项的主题中的选项内容出现错误的问题。 13、修复了:设置“论坛关闭的原因”后,当论坛关闭时出现的提示信息仍为默认的提示信息的错误。 14、修复了:审核主题和审核回复时,如果帖子内容过长,则样式显示不正确的问题。 15、修复了:通过后台添加一个用户时,该用户收到的账号开通邮件中,密码不正确的问题。 16、修复了:编辑、引用帖子时HTML代码的显示错误 17、修复了:查看投票用户时逻辑计算错误的问题。 18、修复了:对联广告在分辨率高情况下不对称。 19、修复了:当发帖需要验证码或验证问答时,游客发帖可能提示“论坛更新中”的问题。 20、修复了:“提示信息跳设置”修改后,部分用户没有即时按照新设置进行跳的问题。 21、修复了:当更换模板后,部分图片没有更换的问题。 22、修复了:通过 wap 浏览主题时,可能产生错误的问题。 23、修改了:Js 调用所产生的论坛链接不能生成静态 URL 的问题。 24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读权限的主题时,没有显示提示信息的问题。 27、修改了:当编辑“活动主题”时,“插入图片”等按钮没有作用的问题。 28、修改了:开启干扰码功能后,用 IE 浏览器浏览主题时可能出现乱码现象。 29、修改了:不能正常对论坛的第一个主题进行“移动主题并保留镜像”操作的问题。 30、修复了:在分类浏览主题列表时,可能被浏览者恶意访问的问题。 31、修复了:公告没有分页效果的问题。 32、修复了:搜索标签时,未过滤搜索关键字的问题 33、修复了:统计功能中,“积分排行”的缓存不起作用的问题。 34、修复了:后台查看禁止用户记录时,页面样式的错误。 35、修复了:论坛控制面版的公众用户组功能不是公众用户组的也会显示加入的问题 36、修复了:后台设置积分过大后,会导致前台计算积分错误的问题 37、修复了:后台对“类别信息”进行设置时,如果信息列表中存在两类及以上的信息时,不能对所有信息同时进行编辑的问题。 38、修改了:对某板块最后回复的主题进行镜像移动后,无法从板块的“最后发表”处查看主题的问题。 39、修复了:某板块被删除后,原可以在该板块下使用的道具都无法购买的问题。 40、修改了:发表主题扣除积分没有进行验证 ,在特定情况下导致用户的用户组因积分问题改变。 41、修改了:添加“页尾通栏广告”后,广告的样式有误的问题。 42、修复了:部分浏览器下表情列表出现undefined的情况。 43、增强了对一些主流 WEB 服务器的兼容性。 44、更多细节问题的修复。 优化功能 1、优化了 WAP 功能中的浏览主题操作。 2、对论坛代码进行了大量优化。 3、更多细节方面的优化。
JspRun!是飞速创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。JspRun! 的基础架构采用世界上最先进流行的 web 编程组合 JAVA MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的有效分离,提高了层次结构的清晰度,提高了复用的粒度降低了开发代价和维护代价,同时保证了软件的质量使其更具有鲁棒性和可维护性。   对于站长而言,利用 JspRun! 均能够在最短的时间内,花费最低的费用,采用最少的人力,架设一个性能优异、功能全面、安全稳定的社区论坛平台。   对于网民而言,注册任何一个由 JspRun! 软件系统建立的网站/论坛,将能方便、快捷地享受到论坛带来的互动体验,进行发/回帖、添加/修改资料、站内短信、社区搜索等数百项基本论坛操作,以及进行社区交易、论坛悬赏等数十项高级社区应用。     2011年05月16日更新内容部分列表 修复功能1、 修复了:主题回收站显示内容过长时,没有限制显示宽度的问题。 2、 修复了:在某些运行环境中(例如在 LINUX下的 Weblogic10.3 服务器上)用户无法正常上传附件的问题 3、 修复了:审核主题和审核回复操作中可能存在的安全隐患。 4、 修复了:隐藏版块出现在统计-版块排行中的问题 5、 修复了:设置精华帖时,显示的精华图片不随论坛风格变化的问题 6、 修复了:在首页进行登录时,如果直接敲回车会有 javascript 错误 7、 修复了:编辑器在部分浏览器下 JspRun!代码模式和所见即所得模式无法切换的问题。 8、 修改了:编辑用户组时,用户组显示的顺序不正确的问题。 9、 修改了:论坛编辑主题帖时,标题为空的问题 10、修复了:主题分类信息选项排序无效的问题和部分选项设置最大、或最小值后 无法去掉的问题 11、修改了:编辑具有“分类信息”的主题时,分类信息不排序的问题。 12、修改了:在后台修改分类选项的选项内容后,前台使用该分类选项的主题中的选项内容出现错误的问题。 13、修复了:设置“论坛关闭的原因”后,当论坛关闭时出现的提示信息仍为默认的提示信息的错误。 14、修复了:审核主题和审核回复时,如果帖子内容过长,则样式显示不正确的问题。 15、修复了:通过后台添加一个用户时,该用户收到的账号开通邮件中,密码不正确的问题。 16、修复了:编辑、引用帖子时HTML代码的显示错误 17、修复了:查看投票用户时逻辑计算错误的问题。 18、修复了:对联广告在分辨率高情况下不对称。 19、修复了:当发帖需要验证码或验证问答时,游客发帖可能提示“论坛更新中”的问题。 20、修复了:“提示信息跳设置”修改后,部分用户没有即时按照新设置进行跳的问题。 21、修复了:当更换模板后,部分图片没有更换的问题。 22、修复了:通过 wap 浏览主题时,可能产生错误的问题。 23、修改了:Js 调用所产生的论坛链接不能生成静态 URL 的问题。 24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读权限的主题时,没有显示提示信息的问题。 27、修改了:当编辑“活动主题”时,“插入图片”等按钮没有作用的问题。 28、修改了:开启干扰码功能后,用 IE 浏览器浏览主题时可能出现乱码现象。 29、修改了:不能正常对论坛的第一个主题进行“移动主题并保留镜像”操作的问题。 30、修复了:在分类浏览主题列表时,可能被浏览者恶意访问的问题。 31、修复了:公告没有分页效果的问题。 32、修复了:搜索标签时,未过滤搜索关键字的问题 33、修复了:统计功能中,“积分排行”的缓存不起作用的问题。 34、修复了:后台查看禁止用户记录时,页面样式的错误。 35、修复了:论坛控制面版的公众用户组功能不是公众用户组的也会显示加入的问题 36、修复了:后台设置积分过大后,会导致前台计算积分错误的问题 37、修复了:后台对“类别信息”进行设置时,如果信息列表中存在两类及以上的信息时,不能对所有信息同时进行编辑的问题。 38、修改了:对某板块最后回复的主题进行镜像移动后,无法从板块的“最后发表”处查看主题的问题。 39、修复了:某板块被删除后,原可以在该板块下使用的道具都无法购买的问题。 40、修改了:发表主题扣除积分没有进行验证 ,在特定情况下导致用户的用户组因积分问题改变。 41、修改了:添加“页尾通栏广告”后,广告的样式有误的问题。 42、修复了:部分浏览器下表情列表出现undefined的情况。 43、增强了对一些主流 WEB 服务器的兼容性。 44、更多细节问题的修复。 优化功能 1、优化了 WAP 功能中的浏览主题操作。 2、对论坛代码进行了大量优化。 3、更多细节方面的优化。
JspRun!是飞速创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。JspRun! 的基础架构采用世界上最先进流行的 web 编程组合 JAVA MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的有效分离,提高了层次结构的清晰度,提高了复用的粒度降低了开发代价和维护代价,同时保证了软件的质量使其更具有鲁棒性和可维护性。   对于站长而言,利用 JspRun! 均能够在最短的时间内,花费最低的费用,采用最少的人力,架设一个性能优异、功能全面、安全稳定的社区论坛平台。   对于网民而言,注册任何一个由 JspRun! 软件系统建立的网站/论坛,将能方便、快捷地享受到论坛带来的互动体验,进行发/回帖、添加/修改资料、站内短信、社区搜索等数百项基本论坛操作,以及进行社区交易、论坛悬赏等数十项高级社区应用。 2011年05月16日更新内容部分列表 修复功能1、 修复了:主题回收站显示内容过长时,没有限制显示宽度的问题。 2、 修复了:在某些运行环境中(例如在 LINUX下的 Weblogic10.3 服务器上)用户无法正常上传附件的问题 3、 修复了:审核主题和审核回复操作中可能存在的安全隐患。 4、 修复了:隐藏版块出现在统计-版块排行中的问题 5、 修复了:设置精华帖时,显示的精华图片不随论坛风格变化的问题 6、 修复了:在首页进行登录时,如果直接敲回车会有 javascript 错误 7、 修复了:编辑器在部分浏览器下 JspRun!代码模式和所见即所得模式无法切换的问题。 8、 修改了:编辑用户组时,用户组显示的顺序不正确的问题。 9、 修改了:论坛编辑主题帖时,标题为空的问题 10、修复了:主题分类信息选项排序无效的问题和部分选项设置最大、或最小值后 无法去掉的问题 11、修改了:编辑具有“分类信息”的主题时,分类信息不排序的问题。 12、修改了:在后台修改分类选项的选项内容后,前台使用该分类选项的主题中的选项内容出现错误的问题。 13、修复了:设置“论坛关闭的原因”后,当论坛关闭时出现的提示信息仍为默认的提示信息的错误。 14、修复了:审核主题和审核回复时,如果帖子内容过长,则样式显示不正确的问题。 15、修复了:通过后台添加一个用户时,该用户收到的账号开通邮件中,密码不正确的问题。 16、修复了:编辑、引用帖子时HTML代码的显示错误 17、修复了:查看投票用户时逻辑计算错误的问题。 18、修复了:对联广告在分辨率高情况下不对称。 19、修复了:当发帖需要验证码或验证问答时,游客发帖可能提示“论坛更新中”的问题。 20、修复了:“提示信息跳设置”修改后,部分用户没有即时按照新设置进行跳的问题。 21、修复了:当更换模板后,部分图片没有更换的问题。 22、修复了:通过 wap 浏览主题时,可能产生错误的问题。 23、修改了:Js 调用所产生的论坛链接不能生成静态 URL 的问题。 24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读权限的主题时,没有显示提示信息的问题。 27、修改了:当编辑“活动主题”时,“插入图片”等按钮没有作用的问题。 28、修改了:开启干扰码功能后,用 IE 浏览器浏览主题时可能出现乱码现象。 29、修改了:不能正常对论坛的第一个主题进行“移动主题并保留镜像”操作的问题。 30、修复了:在分类浏览主题列表时,可能被浏览者恶意访问的问题。 31、修复了:公告没有分页效果的问题。 32、修复了:搜索标签时,未过滤搜索关键字的问题 33、修复了:统计功能中,“积分排行”的缓存不起作用的问题。 34、修复了:后台查看禁止用户记录时,页面样式的错误。 35、修复了:论坛控制面版的公众用户组功能不是公众用户组的也会显示加入的问题 36、修复了:后台设置积分过大后,会导致前台计算积分错误的问题 37、修复了:后台对“类别信息”进行设置时,如果信息列表中存在两类及以上的信息时,不能对所有信息同时进行编辑的问题。 38、修改了:对某板块最后回复的主题进行镜像移动后,无法从板块的“最后发表”处查看主题的问题。 39、修复了:某板块被删除后,原可以在该板块下使用的道具都无法购买的问题。 40、修改了:发表主题扣除积分没有进行验证 ,在特定情况下导致用户的用户组因积分问题改变。 41、修改了:添加“页尾通栏广告”后,广告的样式有误的问题。 42、修复了:部分浏览器下表情列表出现undefined的情况。 43、增强了对一些主流 WEB 服务器的兼容性。 44、更多细节问题的修复。 优化功能 1、优化了 WAP 功能中的浏览主题操作。 2、对论坛代码进行了大量优化。 3、更多细节方面的优化。
一 Jeecms安装过程 将解压后得到的jeecms-3.0.2-final文件夹下的root文件夹更名为jeecms拷贝到tomcat 安装目录下的webapps 文件夹下(例如: D:\Tomcat 6.0\webapps\),启动tomcat,在地址栏中输入http://localhost:8080/jeecms, 您将看到第一步安装过程中的《用户许可协议》,勾选“我已经阅读并同意此 协议”,点击下一步, 接下来第二步安装过程中设置系统参数,系统会自动检测出一些配置项,请根据您的实际情 况填写,数据库密码不能为空。 点击提交后进入第三步进入最后的系统安装过程,安装过程可能需要十几秒的等待时间。安 装成功后将提示信息,请再重启Tomcat 完成安装。 Tomcat重启完毕之后,在浏览器的地址栏中输入http://localhost:8080/jeecms, 若系统正常显示默认的站点首页则表示JEECMS 已经顺利安装完成. 附: 系统管理后台登录:http://localhost:8080/jeecms/jeeadmin/jeecms/index.do 用户名:admin 密 码:password 图文安装步骤如下: 将解压后得到的ROOT文件夹拷贝到tomcat安装目录下的webapps文件夹下(例如:D:\Tomcat 6.0\webapps\),启动tomcat,在地址栏中输入http://localhost:8080,您将看到第一步安装过程中的《用户许可协议》,如图一所示,勾选“我已经阅读并同意此协议”,点击下一步, 图一:用户许可协议 接下来第二步安装过程中设置系统参数,系统会自动检测出一些配置项,请根据您的实际情况填写,如图二所示,数据库密码不能为空。 图二:系统参数设置 点击提交后进入第三步进入最后的系统安装过程,安装过程可能需要十几秒的等待时间。安装成功后将提示如图三所示的页面信息,请再重启Tomcat完成安装。 图三:系统安装完成 三、完成安装 Tomcat重启完毕之后,在浏览器的地址栏中输入http://localhost:8080,若系统正常显示默认的站点首页则表示JEECMS已经顺利安装完成.,如图四所示: 图四 站点首页 二 Jeecms项目导入myeclipse 1.在myeclipse中新建一个项目jeecms,将服务器中jeecms项目下web-inf文件夹下内容拷到新建项目中 解压缩jeecms-3.0.2-final-src,在src文件夹下会看到有三个压缩文件,如果只想进行普通的二次开发,可以只导入cms这个源码,删除jeecms-cms-identity-3.0.2-final.jar即可,如果想进行深入的二次开发,需要导入common和core源码,另导入common-lib下的jar包,删除jeecms-cms- identity-3.0.2-final.jar,jeecms-common-3.0.2-final.jar ,jeecms-core- identity-3.0.2-final.jar这三个jar包,切记:务必进行build path 3.修改jdbc链接,自己导入数据库。 4.把服务器下install\config下的web.xml复制出来覆盖掉新建项目WEB-INF下的web.xml 5.classes下有四个文件,手动烤到myeclipse项目src根目录下中 6.将服务器上jeecms项目删掉,发布新建的jeecms项目。 三 首页的加载过程 在浏览器中输入http://localhost:8080/jeecms,回车 首先进入配置文件web.xml, contextConfigLocation <!----> /WEB-INF/config/application-context.xml /WEB-INF/config/cache-context.xml /WEB-INF/config/captcha-context.xml /WEB-INF/config/jeecore-context.xml /WEB-INF/config/jeecms-context.xml 应用范围内的初始化参数 其中jeecms-context.xml是对标签的初始化 index.html index.shtml index.jhtml 通过以上标签找到应该加载哪一个页面 JeeCmsFront org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/config/jeecms-servlet-front.xml 2 JeeCmsFront *.jhtml JeeCmsFront *.jspx JeeCmsFront *.jsp JeeCmsFront *.htm 通过servlet配置,可以找到jeecms-servlet-front.xml,在此配置文件的最后有 代码 找到jeecms-servlet-front-action.xml,在此配置文件中有 可以找到类DynamicPageAct,此类是首页模板。 在类DynamicPageAct中有 public static final String TPL_INDEX = "tpl.index"; 找到WEB-INF\languages\jeecms_front下messages_zh_CN.properties配置文件,可以找到对应的首页面 tpl.index=首页(工程中的首页.html文件) 四 标签的配置流程 以cms_content_list为例,首先,每一个标签的声明都是在jeecms-context.xml中进行的, <?xml version="1.0" encoding="UTF-8"?> …… (声明标签对应的类) …… …… …… 此外,在配置文件jeecms-servlet-front.xml中,还有一段对标签的配置 …… …… …… 类ContentListDirective继承自AbstractContentDirective,最主要的是execute方法 public class ContentListDirective extends AbstractContentDirective { /** * 模板名称 */ public static final String TPL_NAME = "content_list"; /** * 输入参数,文章ID。允许多个文章ID,用","分开。排斥其他所有筛选参数。 */ public static final String PARAM_IDS = "ids"; @SuppressWarnings("unchecked") public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { //获取站点 CmsSite site = FrontUtils.getSite(env); //获取内容列表,可以通过此处进行更改,获取自己数据库中的数据 List list = getList(params, env); Map paramWrap = new HashMap( params); //OUT_LIST值为tag_list,在类DirectiveUtils中声明,将内容列表放入其中 paramWrap.put(OUT_LIST, DEFAULT_WRAPPER.wrap(list)); //将params的值复制到variable中 Map origMap = DirectiveUtils .addParamsToVariable(env, paramWrap); //获取的是参数PARAM_TPL,是否调用模板以及调用的模板类型 InvokeType type = DirectiveUtils.getInvokeType(params); //获取传入参数,列表样式,根据不同的参数获取不同的样式列表 String listStyle = DirectiveUtils.getString(PARAM_STYLE_LIST, params); if (InvokeType.sysDefined == type) { if (StringUtils.isBlank(listStyle)) { throw new ParamsRequiredException(PARAM_STYLE_LIST); } //列表样式模板 env.include(TPL_STYLE_LIST + listStyle + TPL_SUFFIX, UTF8, true); } else if (InvokeType.userDefined == type) { if (StringUtils.isBlank(listStyle)) { throw new ParamsRequiredException(PARAM_STYLE_LIST); } //列表样式模板路径 WEB-INF\t\cms_sys_defined\style_list\style_2-1.html FrontUtils.includeTpl(TPL_STYLE_LIST, site, env); } else if (InvokeType.custom == type) { //这个模板就是自己声明的,即content_list.html,如果采用自定义模板的话,页面中可以只写上标签,并添加上标签内需要的几个参数,不需要写标签体的内容,会去自动调用模板中的标签体。 FrontUtils.includeTpl(TPL_NAME, site, params, env); } else if (InvokeType.body == type) { body.render(env.getOut()); } else { throw new RuntimeException("invoke type not handled: " + type); } //将variable中的params值移除 DirectiveUtils.removeParamsFromVariable(env, paramWrap, origMap); } @SuppressWarnings("unchecked") protected List getList(Map params, Environment env) throws TemplateException { Integer[] ids = DirectiveUtils.getIntArray(PARAM_IDS, params); if (ids != null) { //根据内容ID数组获取文章列表 return contentMng.getListByIdsForTag(ids, getOrderBy(params)); } else { return (List) super.getData(params, env); } } @Override protected boolean isPage() { return false; } } Content_list.html中的内容 [#list tag_list as a]
  • ${a.title}
  • [/#list] 就是简单的将tag_list中的内容,即“paramWrap.put(OUT_LIST, DEFAULT_WRAPPER.wrap(list));”中放入的数据遍历出来 style_2-1.html中的内容 主要是对图文列表或标题列表向上滚动的样式的,其中包含两个同样为样式的文件 style_2-1_core.html(图文列表或标题列表向上滚动)和style_1-1_core.html(图文列表或标题列表向上滚动),在此就不做赘述了。 Jeecms是基于Spring注解,在自定义标签时对于实体类和dao service等注意注解的问题。 五 自定义标签及使用自己创建的表的实现过程 下面是我自己定义的标签mycontent_list 首先,在数据库里创建了一个jc_mycontent的表,其中有id,title,content三个字段 其次,创建了一个实体类 public class MyContent { private static final long serialVersionUID = 1L; private Integer id; private String title; private String content; public MyContent () { super(); } ……get set方法 } 接下来是配置hibernate中jc_mycontent表的配置文件 <?xml version="1.0"?> <meta attribute="sync-DAO">false</meta> 与数据库交互的持久层接口 public interface MyContentDao { public List getList(); } 持久层实现类 @Repository//持久层 public class MyContentDaoImpl extends HibernateBaseDao implements MyContentDao { @SuppressWarnings("unchecked") public List getList(){ return find(byNothing()); } private Finder byNothing(){ Finder f = Finder.create(); f.append("from MyContent");//可以在此处添加查询条件或者添加各种方法进行动态查询 f.setCacheable(true); return f; } @Override protected Class getEntityClass() { return MyContent.class; } } 业务层接口 public interface MyContentMng { public List getList(); } 业务层实现类 @Service//业务层 @Transactional public class MyContentMngImpl implements MyContentMng { @Transactional(readOnly = true)//配置事务为只读 public List getList(){ return myContentDao.getList(); } private MyContentDao myContentDao; @Autowired//自动绑定 public void setMyContentDao(MyContentDao myContentDao) { this.myContentDao = myContentDao; } private List listenerList; @Autowired public void setListenerList(List listenerList) { this.listenerList = listenerList; } } 标签类的抽象类,最主要的就是getData这个方法,以及绑定业务层,其中可以添加多种查询方法。可参考类AbstractContentDirective public abstract class AbstractMyContentDirective implements TemplateDirectiveModel { protected Object getData(Map params, Environment env) throws TemplateException { return myContentMng.getList(); } @Autowired protected MyContentMng myContentMng; } 自定义标签中最重要的类继承上边的抽象类 public class MyContentListDirective extends AbstractMyContentDirective { /** * 模板名称 */ public static final String TPL_NAME = "mycontent_list"; @SuppressWarnings("unchecked") public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { //获取站点 CmsSite site = FrontUtils.getSite(env); //获取内容列表 List list = getList(params, env); Map paramWrap = new HashMap(params); //OUT_LIST值为tag_list,将内容列表放入其中 paramWrap.put(MYOUT_LIST, DEFAULT_WRAPPER.wrap(list)); //将params的值复制到variable中 Map origMap = DirectiveUtils.addParamsToVariable(env, paramWrap); //没有采用默认的模板,直接采用自己写的简单的模板(mycontent_list.html) FrontUtils.includeTpl(TPL_NAME, site, params, env); //将variable中的params值移除 DirectiveUtils.removeParamsFromVariable(env, paramWrap, origMap); } protected List getList(Map params, Environment env) throws TemplateException { return myContentMng.getList(); } } 样式模板mycontent_list.html内容,里边可以自己添加一些样式,可参考\t\cms_sys_defined\style_list下样式文件 [#list mytag_list as a]
  • "${a.content}"
  • [/#list] 首页里加入如下代码 [@cms_mycontent_list]
    [/@cms_mycontent_list] 通过以上这些代码,可以实现将自己的表jc_mycontent中的数据查询并显示在页面上 六 标签使用和模板的制作 1模板规划 1.1资源文件 资源文件就是网页中用到的图片、CSS、JS等元素,在CMS系统中所有的资源文件在网站的根目录中的 /res_base/所属网站定义资源目录/TEMPLEATE/WEB /res_base/所属网站定义资源目录/TEMPLEATE/WAP 解释:网站定义资源 在CMS系统中可以同时管理多个网站,也就是多个网站可以同时使用一套CMS系统,但是每一个网站都已属于自己独立的资源文件及模板文件目录。 1.2模板文件 定义了页面显示的主体框架,它的位置位于网站根目录下的/WEB_INF/user_base/所属网站模板目录; 模板规则: 1、以index前缀命名的为首页模板 2、以channel前缀命名的为栏目模板 3、以content前缀命名的为内容模板 4、以alone前缀命名的为栏目单页模板 1.3使用方式 1、使用dw建立站点 2、将网页中用到的资源文件分类分别放置到网站相关资源目录中 3、将模板文件放置按照命名规则分别放置到网站相关模板目录中。 4、将头部、底部等等具有通用元素的模板文件放置到模板目录中的include目录中 5、将模板文件中所有资源引用改为绝对路径链接至资源目录中 6、在栏目管理中将模板文件与栏目进行关联设置 7、在模板文件中需要提取数据的位置放置相应的标签 1.4标签调用样式 调用"JEECMS标签"的三种代码样式如下:   A、${标签名称}   B、[@cms.标签名称 属性='值'/]   C、[@cms.标签名称 属性='值'; 标签别名] 自定义样式模板 [/@cms.标签名称]   例如: a、${web.name}标签用于调用网站名称 b、[@cms.ArtiList chnlId='' count='10' sysContent='1-1' /]标签用于调用 10篇文章的列表 C、[@cms.ChnlList id='' inner='1';c]|>${c.name} [/@cms.ChnlList]标签用于调用栏目列表,可用于网站导航条。   注意:abc实例是与上面ABC三种形式相对应的。大家可以逐个测试,举一反三 2 Include标签 2.1功能简介 做过网站设计经验的朋友可能都知道,我们可以将页面中经常要引用的公共部分(比如页头和页脚)独立开来,单独存放在一个页面中。这样做的好处就是可以在各个需要用到该部分的页面中用一个简单的包含语句就能把它引入进来,大大简化了工作量。 2.2标记说明 【标签名】:[@cms.Include 属性='值' /] 【作 用】:包含公用页面(如页头,页脚) 【参 数】: name:包含模板的文件名 solution:模板方案名 【示 例】: 包含页头:[@cms.Include name='head.html' solution='default'/] 【备 注】:调用此标签前必须先建立相应的包含模板 2.3 明确标签的使用范围   我们在使用任何标签的之前,都必须明确其使用的范围,否则可能无法正常使用该标签。   【Include 标签】的使用范围是:首页模板,栏目页模板,内容页模板,即对应\WEB-INF\user_base\jeecms_com_www\template\article\default\文件夹下的index_××.html模板、channel_××.html模板、content_××.html模板 2.4调试标签了解其使用方法   在使用【Include 标签】之前我们必须保证有可供此标签调用的包含模板,本实例只是起演示作用,为方便起见,这里就不再另外创建被包含的模板了,标签调用的是系统默认模板方案中的的head.html模板。 登录JEECMS后台,进入“模板管理->template->article->default”,点击修改开始时建立的index_demo.html模板(如果没有此模板则按照本文开头的说明创建),进入模板代码模式,填写如下标签代码(为了演示效果美观,本处代码中加入了css,可去除): html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>Include标签测试</title> <link href="${sysResRoot}/front.css" type="text/css" rel="stylesheet" /> <link href="${root}/default/article/css/whole.css" type="text/css" rel="stylesheet" /> <link href="${root}/default/article/css/layout.css" type="text/css" rel="stylesheet" /> </head> <body> [@cms.Include name='head.html' solution='default'/] </body> </html>   点保存按钮,然后返回前台站点首页刷新,得到如下效果: 3 ArtiList标签 3.1功能简介 【ArtiList 标签】在CMS中使用的频率可以说是最高的,通过这个标签,你不仅可以得到一个文章列表,而且可以通过不同的参数组合得到不同的显示效果。比如文章图文列表、文字或图片跑马灯、文字或图片上下循环滚动等等。 使用方式: [@cms.ArtiList chnlId='' count='5' sysContent='1-1' titLen='25' lineHeight='1' dateFormat='4' datePosition='2' headMark='2' target='1'/] 3.2标记说明 【标签名】:[@cms. ArtiList 属性='值' /] 【作 用】:获取文章列表数据 【参 数】: 属性名称 属性说明 默认值 可选值 chnlId 栏目ID,栏目页中可不设置,系统会自动获取当前栏目ID 当前栏目ID 空:显示全站文章列表; 栏目ID:指定栏目文章 attr 文章属性ID 空 1:普通 2:图文 3:焦点 4:头条 5:滚动 sysContent 列表显示方式 1-1 1-1:普通标题列表 1-2:图文列表 2-1:标题列表翻滚 2-2:图文列表翻滚 3-1:焦点图 orderBy 排序方式 0 0:发布时间降序; 1:发布时间升序; 2:固顶降序; 3:置顶降序; 4:日点击降序; 5:周点击降序; 6:月点击降序; 7:季点击降序; 8:年点击降序; 9:总点击降序 recommend 是否推荐 0 0:所有文章 1:推荐文章 titLen 标题长度 20 自定义 target 链接打开目标 0 0:原窗口打开 1:新窗口打开 headMark 文章标题图标 0 0:无图标 1:黑色小圆点 2:红色小圆点 3:蓝色单箭头 4:蓝色双箭头 自定义图标:填写图标路 lineHeight 文章列表每行的行高 空 自定义 bottomLine 每行标题下是否带下划分隔线 0 0:无分隔线 1:默认分隔线 自定义样式:css中定义的样式名称 ctgForm 文章类别形式 0 0:不显示文章类别 1:显示栏目类别 2:显示站点名称 ctgClass 文章类别的css-class 空 自定义css样式的class名 dateFormat 文章发布日期显示格式 0 0:不显示日期 1:”年-月-日 时-分-秒” 格式 2:”年-月-日” 格式 3:”月-日 时-分” 格式 4:”月-日” 格式 datePosition 日期排列位置 1 1:紧跟标题之后 2:右对齐 3:左对齐 isPage 是否显示分页 0 0:否;1:是 count 每页列表显示数量 20 自定义 cssStyle 连接的样式 空 自定义 仅当sysContent='1-2'(图文列表)时,以下标签属性才有效 picWidth 按百分比显示图片宽度 25(即每个图片占总宽度的25%,每行可放四张图片) 自定义 picHeight 每行图片显示高度 110 自定义 仅当sysContent='3-×'(焦点图)时,以下标签属性才有效 flashWidth 焦点图宽度 296(px) 自定义 flashHeight 焦点图总高度 200(px) 自定义 textHeight 焦点图文本高度 20(px) 自定义 仅当sysContent='2-×'(特效显示)时,以下标签属性才有效 rollDisplayHeight 显示区高度 28 自定义 rollLineHeight 行高 28 自定义 rollCols 列数(一行中包含几列) 1 自定义 rollSpeed 滚动速度,值越小越快,最小为1 1 自定义 isSleep 是否停顿 1 0:不停顿; 1:停顿 rollSleepTime 停顿时间,值越大停顿越久 50 自定义 rollCount 一次滚动的行数 1 自定义 rollSpan 一次滚动的像素 1 自定义 其它高级标签属性(用于用户个性设置) searchKey 在标题、tags和描述中搜索指定关键字的文章列表,用于搜索页模板 空 自定义关键字 style 标签内部样式,如果指定sysContent或userContent,则该项无效 1 1:普通列表 sysTpl 指定系统模板 1 自定义 sysContent 系统内容样式 0 自定义 userContent 用户内容样式,当sysContent=1时有效 空 自定义 sysPage 系统分页样式 0 自定义 userPage 用户分页样式,当sysPage=1时有效 空 自定义 upSolution 指定其它模板方案样式 空 自定义 upWebRes 指定其它站点样式 空 自定义 pageClass 分页栏css样式的class名称 空 自定义 pageStyle 分页栏css自定义style样式 空 自定义 3.3 明确标签使用范围   我们在使用任何标签的之前,都必须明确其使用的范围,否则可能无法正常使用该标签。 【ArtiList 标签】的使用范围是:首页模板,栏目页模板,内容页模板, 即对应\WEB-INF\user_base\jeecms_com_www\template\article\default\文件夹下的index_××.html模板、channel_××.html模板、content_××.html模板 3.4 调试标签了解其使用方法   登录JEECMS后台,进入“模板管理->template->article->default”,点击修改开始时建立的index_demo.html模板(如果没有此模板则按照本文开头的说明创建),在模板内容处填写如下标签代码(为了演示效果美观,本处代码中引入了系统默认css,可去除):(1).文章列表 <link href="${sysResRoot}/front.css" type="text/css" rel="stylesheet" /> [@cms.ArtiList chnlId='' count='5' sysContent='1-1' titLen='25' lineHeight='1' dateFormat='4' datePosition='2' headMark='2 target='1'/]  点保存按钮,然后返回前台站点首页刷新,得到如下效果: (2).图文列表 <link href="${sysResRoot}/front.css" type="text/css" rel="stylesheet/> [@cms.ArtiList chnlId='' attr='2' count='5' sysContent='1-2' titLen='25' target='1' picWidth='25' picHeight='110'/]   点保存按钮,然后返回前台站点首页刷新,得到如下效果: 4 Position标签 4.1功能简介 在网站页面中我们经常要显示当前页面的位置,例如:当前位置:首页 > 无线城市> 城市要闻 > 正文。在CMS标签中提供了一个显示页面的当前位置调用标签,只需将该标签放到页面的相应地方,设置好调用参数即可,简单方便。 4.2标记说明 【标签名】:[@cms.Position 属性='值' /] 【作 用】:显示页面的当前位置  【参 数】:   homepage —-首页显示方式。【1:站点简称;自定义】(默认:首页)   title ---内容页显示方式。【0:不显示;1:显示内容标题;自定义】(默认:正文)   split ---分割符号。(默认:“>”)   target ---是否原窗口打开。【0:原窗口打开;1:新窗口打开】(默认:原窗口打开)   class ---链接外部样式,等同于html中的class属性   style ---自定义标签样式,等同于html中的style属性  【示 例】:   [@cms.Position homepage='1' split='|' target='1' /] 【作 用】:显示各栏目列表 【参 数】: 属性名称 属性说明 默认值 可选值 id 父栏目ID 默认为空:自动获取当前栏目ID 空:当前栏目ID; 栏目ID:指定父栏目id orderBy 排序方式 0 0:优先级升序; 1:优先级降序; 2:点击次数升序;3:点击次数降序 isDisplay 是否只获取显示的栏目 1 0:获取所有; 1:只获取显示的栏目 hasContent 是否只获取可以有内容的栏目 0 0:获取所有; 1:只获取可以有内容的栏目 linkClass 链接class样式 空 linkTarget 链接打开方式 0 0:当前窗口; 1:新窗口 sysPage 系统分页样式 0 0:不分页; 1:样式一; 2:样式二 userPage 自定义分页样式。如果指定了系统分页样式,则该项无效 0 0:不分页; 1:样式一; 2:样式二 5.3明确标签的使用范围   我们在使用任何标签的之前,都必须明确其使用的范围,否则可能无法正常使用该标签。 [@cms.ChnlList /]标签的使用范围是:首页模板,栏目页模板,即对应\\WEB-INF\\user_base\\jeecms_com_www\\template\\article\\default\\文件夹下的index_××.html模板、channel_××.html模板 5.4调试标签了解其使用方法 1、单独标签调用示例: [@cms.ChnlList/] 2、自定义标签调用示例:    [@cms.ChnlList id='' inner='1';c,i]     <a href="${c.url}">${c.name}[#if (i+1)%2==0]
    [/#if]    [/@cms.ChnlList] 3、配合其它标签嵌套调用示例: [@cms.ChnlList id='' sysType='article' hasContent='1' inner='1';c]
    ${c.name}
    [@cms.ArtiList chnlId=c.id sysContent='1-1' titLen='20' count='6' /]
    [/@cms.ChnlList] 6内容页常用标签 6.1标记说明 【文章导航】:[@cms.Position /] 【文章标题】:${arti.title} 【简短标题】:${arti.shortTitle} 【文章作者】:${arti.author} 【发布日期】:${arti.releaseDate} 【查看次数】:${arti.visitTotal} 【文章来源】:${arti.origin} 【文章摘要】:${arti.description} 【文章内容】:${arti.content}

    81,091

    社区成员

    发帖
    与我相关
    我的任务
    社区描述
    Java Web 开发
    社区管理员
    • Web 开发社区
    加入社区
    • 近7日
    • 近30日
    • 至今
    社区公告
    暂无公告

    试试用AI创作助手写篇文章吧