- 浏览: 453991 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (211)
- java (37)
- spring相关 (3)
- struts (10)
- 面试 (1)
- jsp/servlet (18)
- 持久化框架 (1)
- IT相关新闻 (3)
- 服务器 (11)
- 插件 (4)
- pushlet (3)
- js (24)
- oracle (29)
- mysql (9)
- hibernate (5)
- 开发工具 (6)
- jquery (6)
- 页面标签jstl,el (1)
- linux (25)
- 英语 (1)
- log4j (1)
- html/css (6)
- sqlserver (2)
- dwr (1)
- 设计模式 (4)
- vmware (2)
- office (1)
- eclipse (5)
- svn (1)
- webservice (1)
最新评论
-
18335864773:
建议使用 pageoffice 组件套红
js操作word套红 -
lopez:
数据库系统的客户程序只要向数据库系统声明了一个事务,数据库系统 ...
Hibernate事物控制与管理 -
liujq4512:
删了还是没用
An internal error occurred during: "Initializing Java Tooling". -
elaine0111:
非常感谢这篇文章,嘿嘿,解决了我的问题。我把这段代码保存在我的 ...
Js设置文本框中焦点位置在最后 -
weishuguangeye:
不错!
单例模式(Singleton)
1. 什么是自定义标签
答:1) 用户自定义的Java语言元素, 实质是运行一个或者两个接口的JavaBean;
2) 可以非常机密地和JSP的表示逻辑联系在一起,又具有和普通JavaBean相同的业务逻辑处理能力;
2) 当一个JSP页面转变为servlet时,其间的用户自定义标签转化为操作一个称为标签hander的对象;
3) 可操作默认对象,处理表单数据,访问数据库以及其它企业服务;
2. 自定义标签库的特点
答:1) 通过调用页面传递参数实现定制;
2) 访问所有对JSP页面可能的对象;
3) 修改调用页面生成的响应;
4) 自定义标签间可相互通信;
5) 在同一个JSP页面中通过标签嵌套,可实现复杂交互。
3. 如何使用自定义标签库
答:1) 声明标签库
2) 使标签库执行对Web应用程序可用
4. 声明标签库
答:1) 使用taglib指令声明标签库
2) 语法:<%@taglib uri="URI" prefix="pre" %>
注意:a. uri属性可以是绝对的,也可以是相对URL,该URL指向标记库描述符(TLD)文件;
b. uri属性也可以是一个并不存在的URL,该URL为web.xml文件中将标记库描述符(TLD)文件的绝对URL到本地系统的一个映射;
3) 范例:<%@taglib uri="/WEB-INF/template.tld" prefix="test" %>
<%@taglib uri="http://java.sun.com/jstl/core" prefix="core" %>
5. 使标签库执行可用
答:方式一:在WEB-INF/classes目录下部署标记处理程序类;
方式二:将标记处理程序类打包成jar文件并置于WEB-INF/lib目录。
6. 几种典型的标签(疑问:可以有带主体而没有属性的标签么?)
答:1) 不带属性和主体的简单标签:<mytaglibs:SomeTag/>;
2) 不带主体但有属性的标签:<mytaglibs:SomeTag user="TonyDeng"/>;
3) 带有主体和属性的标签:<mytaglibs:SomeTag user="TonyDeng">
...// 标签体
</mytaglibs:SomeTag>;
注意:a. 属性列于start tag中,它是在标记库描述符(TLD)文件中指定,服务于标记库的自定义行为;
b. 标签体位于start tag和end tag间,可以是任何合法的JSP内容或者标签;
7. 定义标签
答:1) 开发实现tag的类(tag handler);
2) 编辑标记库描述符(TLD)文件;
3) 在web.xml中为标记库描述符(TLD)文件的绝对URL建立一个映射(该步骤可选);
8. 标记库描述符(TLD)文件
答:1) 一个描述标记库的XML文件;
2) 内容开始是整个库的描述,然后是tag的描述;
3) 标记库描述符(TLD)文件用于Web Container确认tag以及JSP页面发展工具;
9. 实现tag的类(tag handler)
答:1) 是一些在引用了标签的JSP页面执行期间被Web Container调用以求自定义标签值的对象;
2) 必须实现Tag, SimpleTag和BodyTag之一;
3) 可以继承TagSupport和BodyTagSupport之一。
10. 标签库的接口和类的继承关系
答:表现形式一:
a. 接口的继承关系:
☉ interface javax.servlet.jsp.tagext.JspTag
☉ interface javax.servlet.jsp.tagext.SimpleTag
☉ interface javax.servlet.jsp.tagext.Tag
☉ interface javax.servlet.jsp.tagext.IterationTag
☉ interface javax.servlet.jsp.tagext.BodyTag
b. 类的继承关系:
☉ class javax.servlet.jsp.tagext.TagSupport (implements javax.servlet.jsp.tagext.IterationTag, java.io.Serializable)
☉ class javax.servlet.jsp.tagext.BodyTagSupport (implements javax.servlet.jsp.tagext.BodyTag)
☉ class javax.servlet.jsp.tagext.SimpleTagSupport (implements javax.servlet.jsp.tagext.SimpleTag)
表现形式二:
(Interface)
JspTag
↑
|ˉˉˉˉˉˉˉˉ|
(Interface) (Interface)
Tag SimpleTag ←--SimpleTagSupport
↑
|
(Interface)
IterationTag←--TagSupport
↑ ↑
| |
(Interface) |
BodyTag ←--BodyTagSupport
2004-10-9 星期四 晴
11. 一个Tag处理程序类必须实现的方法
答:标签处理程序类型 方法
Simple doStartTag, doEndTag, release
Attributes doStartTag, doEndTag, set/getAttribute...release
Body,No Itrative and doStartTag, doEndTag, release
Evaluation
Body, Itrative Evaluation doStartTag, doAterTag, doEndTag, release
Body, Interaction doStartTag, doEndTag, release, doInitbody, doAfterBody
12. 简单的标签处理程序类
答:1) 必须实现Tag接口的doStartTag()和doEndTag()方法;
2) 因为不存在Body,doStartTag()方法必须返回SKIP_BODY;
3) 如其余页面要执行,doEndTag()方法返回EVAL_PAGE, 否则返回SKIP_PAGE;
4) 对于每一个标签属性,你必须在标签处理程序类里定义一个特性以及get和set方法以一致于JavaBeans体系惯例
13. 带Body的自定义标签
答:1) 必须实现Tag接口的doStartTag()和doEndTag()方法;
2) 可以实现IterationTag接口的doAfterBody()方法;
3) 可以实现BodyTag接口的doInitBody和setBodyContent方法;
4) doStartTag方法可以返回SKIP_BODY、EVAL_BODY_INCLUDE、或者EVAL_BODY_BUFFERED(当你想使用BodyContent);
5) doEndTag方法可以返回SKIP_PAGE或EVAL_PAGE;
6) doAfterBody方法可以返回EVAL_BODY_AGAIN, SKIP_BODY;
14. 定义脚本变量的标签(迭代的标签库)
答:1) 定义脚本标签的二个步骤:
a. 在标记库描述符(TLD)文件中列明脚本变量;
b. 定义标签扩展信息类(TEI)并且在TLD文件中包括这个类元素(tei-class);
2) 变量必须在标签处理程序类中使用pageContext.setAttribute()方法设置;
3) 标签扩展信息类(TEI)必须继承TagExtraInfo以及覆盖getVariableInfo()方法;
4) 变量的范围可以是AT_BEGIN, NESTED, AT_END(标签扩展信息类(TEI)的VariableInfo中定义)之一;
15. 脚本变量的有效性
答:变量 | 有效性
---------------------------------------
NESTED | 标签中的参数在starttag到endtag之间是有效的
AT_BEGIN | 标签中的参数在标签的开始到JSP页面结束是有效的
AT_END | 标签中的参数在标签的结束到JSP页面结束是有效的
2004-10-10 星期四 晴
16. Tag接口的方法
答:interface javax.servlet.jsp.tagext.Tag
------------------------------------------------------
+EVAL_BODY_INCLUDE:int
+EVAL_PAGE:int
+SKIP_BODY:int
+SKIP_PAGE:int
------------------------------------------------------
+release():void
+getParent():javax.servlet.jsp.tagext.Tag
+setParent(javax.servlet.jsp.tagext.Tag):void
+doEndTag():int
+doStartTag():int
+setPageContext(javax.servlet.jsp.PageContext):void
17. Tag的生命周期
答:1) setPageContext(javax.servlet.jsp.PageContext):void
2) setParent(javax.servlet.jsp.tagext.Tag):void
3) //setAttribute:void
4) doStartTag():int
5) doEndTag():int
6) release():void
18. BodyTag和Tag接口的关系
答:interface javax.servlet.jsp.tagext.BodyTag --> interface javax.servlet.jsp.tagext.Tag
------------------------------------------
+EVAL_BODY_AGAIN:int
------------------------------------------
+doInitBody():void
+setBodyContent(javax.servlet.jsp.tagext.BodyContext):void
+doAfterBody():int
19. BodyTag的处理过程
答:1) setPageContext(javax.servlet.jsp.PageContext):void
2) setParent(javax.servlet.jsp.tagext.Tag):void
3) //setParent()
4) doStartTag():int
5) setBodyContent(javax.servlet.jsp.tagext.BodyContent):void
6) doInitBody():void
7) doAfterBody():int
doEndTag():int
9) release():void
20. SimpleTag接口的方法
答:javax.servlet.jsp.tagext.SimpleTag
------------------------------------------
+doTag():void
+getParent():JspTag
+setJspBody(JspFragment jspBody):void
+setJspContext(JspContext pc):void
+setParent(JspTag parent):void
21. SimpleTage接口的生命周期
答:1) new:
每次遇到标签,容器构造一个SimpleTag的实例,这个构造方法没有参数。和红典的标签一样,SimpleTag不能缓冲,故不能重用,每次都需要构造新的实例。
2) setJspContext()、setParent(): 只有这个标签在另一个标签之内时,才调用setParent()方法;
3) 设置属性:调用每个属性的setter方法;
4) setJspBody();
5) doTag(): 所有标签的逻辑、迭代和Body计算,都在这个方法中;
6) return
答:1) 用户自定义的Java语言元素, 实质是运行一个或者两个接口的JavaBean;
2) 可以非常机密地和JSP的表示逻辑联系在一起,又具有和普通JavaBean相同的业务逻辑处理能力;
2) 当一个JSP页面转变为servlet时,其间的用户自定义标签转化为操作一个称为标签hander的对象;
3) 可操作默认对象,处理表单数据,访问数据库以及其它企业服务;
2. 自定义标签库的特点
答:1) 通过调用页面传递参数实现定制;
2) 访问所有对JSP页面可能的对象;
3) 修改调用页面生成的响应;
4) 自定义标签间可相互通信;
5) 在同一个JSP页面中通过标签嵌套,可实现复杂交互。
3. 如何使用自定义标签库
答:1) 声明标签库
2) 使标签库执行对Web应用程序可用
4. 声明标签库
答:1) 使用taglib指令声明标签库
2) 语法:<%@taglib uri="URI" prefix="pre" %>
注意:a. uri属性可以是绝对的,也可以是相对URL,该URL指向标记库描述符(TLD)文件;
b. uri属性也可以是一个并不存在的URL,该URL为web.xml文件中将标记库描述符(TLD)文件的绝对URL到本地系统的一个映射;
3) 范例:<%@taglib uri="/WEB-INF/template.tld" prefix="test" %>
<%@taglib uri="http://java.sun.com/jstl/core" prefix="core" %>
5. 使标签库执行可用
答:方式一:在WEB-INF/classes目录下部署标记处理程序类;
方式二:将标记处理程序类打包成jar文件并置于WEB-INF/lib目录。
6. 几种典型的标签(疑问:可以有带主体而没有属性的标签么?)
答:1) 不带属性和主体的简单标签:<mytaglibs:SomeTag/>;
2) 不带主体但有属性的标签:<mytaglibs:SomeTag user="TonyDeng"/>;
3) 带有主体和属性的标签:<mytaglibs:SomeTag user="TonyDeng">
...// 标签体
</mytaglibs:SomeTag>;
注意:a. 属性列于start tag中,它是在标记库描述符(TLD)文件中指定,服务于标记库的自定义行为;
b. 标签体位于start tag和end tag间,可以是任何合法的JSP内容或者标签;
7. 定义标签
答:1) 开发实现tag的类(tag handler);
2) 编辑标记库描述符(TLD)文件;
3) 在web.xml中为标记库描述符(TLD)文件的绝对URL建立一个映射(该步骤可选);
8. 标记库描述符(TLD)文件
答:1) 一个描述标记库的XML文件;
2) 内容开始是整个库的描述,然后是tag的描述;
3) 标记库描述符(TLD)文件用于Web Container确认tag以及JSP页面发展工具;
9. 实现tag的类(tag handler)
答:1) 是一些在引用了标签的JSP页面执行期间被Web Container调用以求自定义标签值的对象;
2) 必须实现Tag, SimpleTag和BodyTag之一;
3) 可以继承TagSupport和BodyTagSupport之一。
10. 标签库的接口和类的继承关系
答:表现形式一:
a. 接口的继承关系:
☉ interface javax.servlet.jsp.tagext.JspTag
☉ interface javax.servlet.jsp.tagext.SimpleTag
☉ interface javax.servlet.jsp.tagext.Tag
☉ interface javax.servlet.jsp.tagext.IterationTag
☉ interface javax.servlet.jsp.tagext.BodyTag
b. 类的继承关系:
☉ class javax.servlet.jsp.tagext.TagSupport (implements javax.servlet.jsp.tagext.IterationTag, java.io.Serializable)
☉ class javax.servlet.jsp.tagext.BodyTagSupport (implements javax.servlet.jsp.tagext.BodyTag)
☉ class javax.servlet.jsp.tagext.SimpleTagSupport (implements javax.servlet.jsp.tagext.SimpleTag)
表现形式二:
(Interface)
JspTag
↑
|ˉˉˉˉˉˉˉˉ|
(Interface) (Interface)
Tag SimpleTag ←--SimpleTagSupport
↑
|
(Interface)
IterationTag←--TagSupport
↑ ↑
| |
(Interface) |
BodyTag ←--BodyTagSupport
2004-10-9 星期四 晴
11. 一个Tag处理程序类必须实现的方法
答:标签处理程序类型 方法
Simple doStartTag, doEndTag, release
Attributes doStartTag, doEndTag, set/getAttribute...release
Body,No Itrative and doStartTag, doEndTag, release
Evaluation
Body, Itrative Evaluation doStartTag, doAterTag, doEndTag, release
Body, Interaction doStartTag, doEndTag, release, doInitbody, doAfterBody
12. 简单的标签处理程序类
答:1) 必须实现Tag接口的doStartTag()和doEndTag()方法;
2) 因为不存在Body,doStartTag()方法必须返回SKIP_BODY;
3) 如其余页面要执行,doEndTag()方法返回EVAL_PAGE, 否则返回SKIP_PAGE;
4) 对于每一个标签属性,你必须在标签处理程序类里定义一个特性以及get和set方法以一致于JavaBeans体系惯例
13. 带Body的自定义标签
答:1) 必须实现Tag接口的doStartTag()和doEndTag()方法;
2) 可以实现IterationTag接口的doAfterBody()方法;
3) 可以实现BodyTag接口的doInitBody和setBodyContent方法;
4) doStartTag方法可以返回SKIP_BODY、EVAL_BODY_INCLUDE、或者EVAL_BODY_BUFFERED(当你想使用BodyContent);
5) doEndTag方法可以返回SKIP_PAGE或EVAL_PAGE;
6) doAfterBody方法可以返回EVAL_BODY_AGAIN, SKIP_BODY;
14. 定义脚本变量的标签(迭代的标签库)
答:1) 定义脚本标签的二个步骤:
a. 在标记库描述符(TLD)文件中列明脚本变量;
b. 定义标签扩展信息类(TEI)并且在TLD文件中包括这个类元素(tei-class);
2) 变量必须在标签处理程序类中使用pageContext.setAttribute()方法设置;
3) 标签扩展信息类(TEI)必须继承TagExtraInfo以及覆盖getVariableInfo()方法;
4) 变量的范围可以是AT_BEGIN, NESTED, AT_END(标签扩展信息类(TEI)的VariableInfo中定义)之一;
15. 脚本变量的有效性
答:变量 | 有效性
---------------------------------------
NESTED | 标签中的参数在starttag到endtag之间是有效的
AT_BEGIN | 标签中的参数在标签的开始到JSP页面结束是有效的
AT_END | 标签中的参数在标签的结束到JSP页面结束是有效的
2004-10-10 星期四 晴
16. Tag接口的方法
答:interface javax.servlet.jsp.tagext.Tag
------------------------------------------------------
+EVAL_BODY_INCLUDE:int
+EVAL_PAGE:int
+SKIP_BODY:int
+SKIP_PAGE:int
------------------------------------------------------
+release():void
+getParent():javax.servlet.jsp.tagext.Tag
+setParent(javax.servlet.jsp.tagext.Tag):void
+doEndTag():int
+doStartTag():int
+setPageContext(javax.servlet.jsp.PageContext):void
17. Tag的生命周期
答:1) setPageContext(javax.servlet.jsp.PageContext):void
2) setParent(javax.servlet.jsp.tagext.Tag):void
3) //setAttribute:void
4) doStartTag():int
5) doEndTag():int
6) release():void
18. BodyTag和Tag接口的关系
答:interface javax.servlet.jsp.tagext.BodyTag --> interface javax.servlet.jsp.tagext.Tag
------------------------------------------
+EVAL_BODY_AGAIN:int
------------------------------------------
+doInitBody():void
+setBodyContent(javax.servlet.jsp.tagext.BodyContext):void
+doAfterBody():int
19. BodyTag的处理过程
答:1) setPageContext(javax.servlet.jsp.PageContext):void
2) setParent(javax.servlet.jsp.tagext.Tag):void
3) //setParent()
4) doStartTag():int
5) setBodyContent(javax.servlet.jsp.tagext.BodyContent):void
6) doInitBody():void
7) doAfterBody():int
doEndTag():int
9) release():void
20. SimpleTag接口的方法
答:javax.servlet.jsp.tagext.SimpleTag
------------------------------------------
+doTag():void
+getParent():JspTag
+setJspBody(JspFragment jspBody):void
+setJspContext(JspContext pc):void
+setParent(JspTag parent):void
21. SimpleTage接口的生命周期
答:1) new:
每次遇到标签,容器构造一个SimpleTag的实例,这个构造方法没有参数。和红典的标签一样,SimpleTag不能缓冲,故不能重用,每次都需要构造新的实例。
2) setJspContext()、setParent(): 只有这个标签在另一个标签之内时,才调用setParent()方法;
3) 设置属性:调用每个属性的setter方法;
4) setJspBody();
5) doTag(): 所有标签的逻辑、迭代和Body计算,都在这个方法中;
6) return
发表评论
-
http:get和post的区别
2011-01-05 16:48 9661. get 是从服务器上获取数据,post 是向服务器传送数 ... -
JSP动态网页程序设计
2010-11-29 10:27 1154JSP(JavaServer Pages): J ... -
写自定义标签时标记attribute里rtexprvalue的用法
2010-10-31 21:08 968其实以前也有写过自定义标签, 但是没有注意到过<rtex ... -
带标签体的标签
2010-10-31 21:08 1383带标签体的标签,就是允许在标签内嵌套标签,通常可用于完成一些逻 ... -
自定义标签控制过长字符串的显示
2010-10-31 21:06 999问题描述: 关于自动换行问题,正常字符的换行是比较合理的,而 ... -
JSP自定义标签执行顺序
2010-10-31 21:05 1128首先来看一下简单标签 ... -
JSP自定义标签开发流程
2010-10-31 21:04 984一、概述 jsp(SUN企业级应用的首选)中有一 ... -
自定义标签类 判断权限
2010-10-31 21:03 1769功能 :判断当前用户是否有权限访问当页面 思路:读取当 ... -
JSP2的自定义标签(简单,带属性,带标签体)
2010-10-31 21:02 2227引用 在JSP规范的1.1版中增加了自定义标签库规范,自定义标 ... -
JSP:自定义标签——开发实例
2010-10-31 21:00 1296【实例109】 开发带属性的标签:helloTagHaveP ... -
JSP自定义标签学习(基础)
2010-10-31 20:57 985自定义标签的最大的特点: 利用 自定义标签,软件开发人员和页面 ... -
关于EL 表达式
2010-10-13 23:10 1183关于EL 表达式 EL表达式总是用大括号括起,而且前面有一个 ... -
页面跳转大全
2010-10-04 13:29 1537JSP中的跳转: (1). forward()方法 使 ... -
JSP、Servlet、Tomcat、JDK、J2EE版本比较(转)
2010-10-03 23:55 735一 JSP2.0与JSP1.2比较 JSP 2.0是对JS ... -
jsp内置对象
2010-04-12 11:27 1123这几天整理项目资料,发现好多东西都快忘记了,因此打算从头整理一 ... -
页面状态响应码
2010-03-29 09:30 1358状态响应码 100~199:表 ... -
JSTL与EL表达式
2010-03-27 14:51 3214取Session中的值 <c:out value=&q ...
相关推荐
### jsp自定义标签库知识点详解 #### 一、什么是jsp自定义标签? 1. **概念**:JSP 自定义标签是一种将复杂的功能封装成一个简单的标签的方式,它允许开发者创建可重用的代码组件,这些组件可以在 JSP 页面中像...
4. **知识库**:在知识库或问答社区,如Stack Overflow,自定义标签帮助用户提问和回答问题。 四、自定义标签的实现 实现自定义标签通常涉及以下几个步骤: 1. **设计标签系统**:考虑标签的结构,如是否允许多级...
【标签】"问答" 指出这个系统的主打功能是问答互动,这包括了用户提问、其他用户回答、问题分类、搜索功能等。一个完整的问答系统通常会包含用户积分、等级体系、举报机制等,以促进社区的健康发展。 【文件名解析...
复习机制则是巩固记忆的关键,该工具很可能会通过问答、填空等形式进行复习,帮助用户检查学习进度并加强记忆。 结合标签“MBA 背单词 语音”,我们可以推断这个小工具特别适合正在准备MBA课程或者商业英语学习者。...
【标签】中的“系统”表明这是一个完整的软件系统,而非单一的算法或组件。“智能”强调了系统具备某种程度的人工智能特性,能够理解、处理和生成人类语言。“毕设”则提醒我们这是一项学术性质的工作,可能是为了...
3. **分类与标签**:问题和答案可以被归类到不同的主题或标签下,便于用户按需查找。 4. **投票与评分**:用户可以对问题和答案进行投票,表示赞同或反对,以显示其质量。 5. **评论与讨论**:除了答案外,用户还...
8. **SEO优化**:为了提高搜索引擎可见性,问答系统需要进行SEO(搜索引擎优化)处理,如设置元标签、URL结构优化、生成Sitemap等,以帮助搜索引擎更好地理解和索引网站内容。 9. **安全防护**:考虑到网站可能面临...
whatsns问答系统是一款可以根据自身业务需求快速搭建垂直化领域的php开源问答系统,内置强大的采集功能,支持云存储,图片水印设置,全文检索,站内行为监控,短信注册和通知,伪静态URL自定义,熊掌号功能,百度...
(2)自定义静态标签。(3)静态页面生成。 4、系统管理:(1)网站参数管理。 (2)模型管理。(可以生成板块,对应字段后台展示不同控件,并有相应维护功能,可以根据模型 及模型下栏目创建标签,将标签放入...
对搜索引擎的优化:支持Keywords和Description页面头部标签的自定义 支持 JS 代码的问题调用 提供与动网、oblog、动易实现用户整合的标准接口 支持好友管理和站内短信 支持无限级问题分类 完善的用户中心 部分...
模板的设计理念在于简洁易用,使用户能快速上手并进行自定义开发。其主要包含以下几个核心组件: 1. **用户系统**:登录、注册、个人中心等功能,实现用户身份验证和管理。 2. **问题模块**:用户可以提出问题,...
- 虽然没有具体提及,但JSP中可以使用自定义标签库(Tag Library)来提高代码的可读性和复用性。例如,可以创建一个标签用于显示问答条目,另一个标签用于处理用户提交的问题。 7. **安全性**: - 为了确保数据...
【标签】"仿百度"提示我们这个问答系统的界面设计和用户体验可能会参照百度知道,包括但不限于页面布局、功能模块、交互方式等方面。用户可以期待一个熟悉的使用环境,同时也能体验到与百度知道类似的问答流程。 在...
(2)自定义静态标签。(3)静态页面生成。 4、系统管理:(1)网站参数管理。 (2)模型管理。(可以生成板块,对应字段后台展示不同控件,并有相应维护功能,可以根据模型 及模型下栏目创建标签,将标签放入html...
支持问题的附件上传 对搜索引擎的优化:支持Keywords和Description页面头部标签的自定义 支持 JS 代码的问题调用 支持好友管理和站内短信 支持无限级问题分类 完善的用户中心 部分页面采用ajax技术,减少页面刷新...
PHP框架CI开发的内容付费问答解惑系统+seo优化,内置强大的采集功能,支持云存储,图片水印设置,全文检索,站内行为监控,短信注册和通知,伪静态URL自定义,熊掌号功能,百度结构化地图(标签,问题,文章,分类,...
- **用户自定义标签**:用户可以根据问题的特性添加自定义标签,方便其他用户通过标签快速查找相关问题。 - **消息推送机制**:新增消息推送功能,包括问题被回答、评论、点赞等多种场景下的实时通知。 - **优化搜索...
支持问题的附件上传 对搜索引擎的优化:支持Keywords和Description页面头部标签的自定义 支持 JS 代码的问题调用 支持好友管理和站内短信 支持无限级问题分类 完善的用户中心 部分页面采用ajax技术,减少页面刷新...