-
静态页是和图片类似的静态资源,访问静态资源不会经过程序处理,不会根据浏览器返回不同页面。要同时支持PC端和手机端浏览器,且要生成静态页时,最好使用bootstrap之类的技术,实现自适应页面设计。
如果PC端和手机端使用了不同模板,且还需生成静态页面,需要解决两个问题。
第一,PC端和手机端生成的静态页面必须保...
-
获得站点列表。
实现类
com.jspxcms.ext.web.directive.AdListDirective
参数
siteId:站点ID。多个用英文逗号分隔,如'1,2,5'。默认为当前站点,如果要获取所有站点的数据,可以传空字符串''。slot:广告板块编码。slotId:广告板块ID。
范例获取当前站点指定广告板块的广告列表:
[@AdList slotI...
-
跨站脚本攻击(XSS)是网站制作中最常见的漏洞之一。原理非常简单,就是在用户输入一些代码,这些代码会导致浏览器执行一些脚本,从而达到攻击目的。
这些攻击性代码通常要使用" < >来达到攻击目的。
比如:您搜索的内容是: ${question},其中${question}是用户输入的内容。
如果用户输入<script>aler...
-
Jspxcms本身并没有做专门的缓存处理。系统中使用到JPA,所有的缓存都是由JPA处理的。所以这里讲的缓存,其实就是JPA的缓存。详细知识可以查看JPA或Hibernate文档中有关缓存的部分。
JPA缓存分为三部分,一级缓存、二级缓存和查询缓存。
一级缓存是JPA固有的功能,即一个session周期内,里面的对象会放到缓存里。一级缓...
-
有些情况下会需要在指定时间发布文章。比如需要在国庆节发布一篇特定的文章,这篇文章写好了,但又不想等到国庆节那天录入文章。
这时可以先录入这篇文章,并且将文章的发布日期设置为10月1日。保存后这篇文章为待发布状态(假如当前时间为9月28日),并不会直接显示在前台。再到定时任务功能里增加一条信息发布的定时任...
-
系统中用户的权限是由角色控制的,如果不小心把管理员的权限取消了,可能会出现无法再次赋权的情况。
这时可以通过修改数据库恢复权限。cms_role表的f_is_all_perm字段可以设置某个角色拥有所有权限,将该字段设置为1即可。如果不知道管理员对应的是哪个角色,可以先将所有的角色的f_is_all_perm字段设置为1。数据库设置...
-
首先要确定多数据源是指什么。
如果多数据源是指系统中的表分别放到不同数据库里(比如,栏目表cms_node放到A数据库,文章表cms_info放到B数据库),这种情况是不支持的。
如果是系统中的表放到一个数据库里,但还希望通过二次开发从其它数据库里读取一些数据,这种情况是可以的。
Jspxcms系统中使用的框架是spring-bo...
-
通常不屏蔽模板的错误信息。前台FreeMarker模板的错误信息会准确的定位发生错误的模板文件位置、错误代码行数以及错误原因,非常有利于模板的问题排查,如果屏蔽模板错误信息会使得模板调试变得困难甚至无从下手。
如果实际使用中,需要屏蔽的话,可以修改/WEB-INF/classes/conf/context.xml中有关FreeMarker的配置:
...
-
系统的用户注册、找回密码等功能有可能需要给用户发送电子邮件,这时候需要在后台系统 - 系统管理 - 邮件设置里面设置邮件的SMTP服务器。
不同的邮箱有不同的配置方法,不仅是SMTP服务器地址等配置不一样,有些邮件服务器会默认关闭SMTP服务,甚至开启SMTP服务后还需要设置独立密码才能使用(比如QQ邮箱)。这些都需要到...
-
使用自己创建的文档模型后,新增文档报错。是由于新建的文档模型缺少关键的系统字段,比如”栏目”、”标题”。报错信息可能为:... The given id must not be null! ...。
很多用户在自己创建模型时,只创建自定义字段。在创建模型时一定要记得点“系统字段”按钮,里面列出的系统字段中,有一些前面没有勾选框的,是必...