主题 : jeecms2012使用Discuz2.5的富客户端改造留言板
级别: 解元
UID: 6322
积分:207 加为好友
威望: 0 精华: 1
主题:18 回复:67
注册时间:2010-05-03
在线时长:0
21#   发表于:2012-04-29 16:36:36  IP:219.58.*.*
安装说明:
1、 直接导入到myeclipse,我的源码上下文为:hagjjN,端口为:8080,通过:http://localhost:8080/hagjjN地址工作。
2、 后台登陆用户名:admin,密码为:password
3、 里面包含源码及mysql数据库,数据库要导入,密码为:jh567890
4、 数据库名为:thisprojN
5、 其他有问题联系我:smn8899@163.com
6、 要遵循知识产权保护法,discuz和myeclipse都有授权要求。
级别: 解元
UID: 6322
积分:207 加为好友
威望: 0 精华: 1
主题:18 回复:67
注册时间:2010-05-03
在线时长:0
22#   发表于:2012-04-30 11:33:46  IP:219.58.*.*
j2ee整合discuz2.5思想,在附件中。
级别: 解元
UID: 6322
积分:207 加为好友
威望: 0 精华: 1
主题:18 回复:67
注册时间:2010-05-03
在线时长:0
23#   发表于:2012-04-30 11:34:27  IP:219.58.*.*
J2ee整合discuz2.5做登陆弹出窗体思想

客户端弹出页面风格。
 
一、 里面嵌入html代码获得技巧。
找到弹出页面地址: 应地址,查看页面源码: 
地址为:http://www.discuz.net/member.php?mod=logging&action=login&referer=http%3A%2F%2Fwww.discuz.net%2F,其中有些字符经过转码,不要紧,粘贴在地址上,就得到html源码。这个页面内容比较多,他是能单独工作的,但要得到局部精简代码,要添加查询参数:”&infloat=1”,要得到弹出窗体xml风格嵌入代码,要添加查询参数:”&inajax=yes”。大家试试看,两种代码风格截然不同。Infloat的意识为:“使用浮动工作模式”,inajax的意思:使用ajax提取xml代码,是在html代码中,后台程序截取局部节点,形成xml代码。
我们首先要获得html风格代码,不需要添加inajax参数,只需要添加infloat=1参数,精简代码。取名保存。如logging.html。这项工作大家应了如指掌了吧,不需要我赘述。
二、后台从logging.html中提取节点”id=wp”,组装成xml风格代码。使用到的技术:dom4j。
步骤:1、获得文件名的正式存放位置。String inputFile = realPathResolver.get(fileName); 
2、通过dom4j,获得节点内容。xml = Dom4Jparser.getNodeString(inputFile, orgIdName, outxmlRootTag, outxmlEncode);
3、格式化xml代码,/** xml特殊字符替换 */xml = Dom4Jparser.formatXML(xml);

4、替换参数变量。 xml = StringModelMerge.processStringWithModel(getFreeMarkerConfig(request), templateFileName, xml, map, outxmlEncode);
5、输出xml到客户端。 ResponseUtils.renderXml(response, xml);
三、页面弹出窗体准备工作。
1、需要添加discuz2.5的js,css及image,操作技巧,将discuz2.5的源码下载下来,里面文件按文件夹分类别放置。很好找。
2、按照discuz2.5的html页面,将js所用到的变量赋值。如SITEURL = 'http://www.discuz.net/',IMGDIR = 'static/image/common',  charset = 'gbk'等。要与你的站点相符。
3、弹出页面的地方链接地址。按照discuz风格样式。“<a href="member.php?mod=logging&amp;action=login&amp;referer=http%3A%2F%2Fwww.discuz.net%2F" onclick="showWindow('login', this.href);return false;" class="xi2">已有帐号?现在登录</a>”,其中,“login”将作为弹出窗体的名称,你可以修改。Discuz在html中有禁用浮动窗体变量,disallowfloat = 'newthread|tradeorder|activity|debate',想启用浮动窗体,就在赋值中删掉选项。如newthread是“发贴”功能,因此,“发帖”就不能以弹出窗体风格展现。
四、弹出窗体工作衔接代码。例如: 
在“提交”按钮绑定到form的action代码, ,上面action值,http://www.discuz.net/member.php?mod=logging&action=login&loginsubmit=yes&handlekey=login&loginhash=LCj4h&inajax=1,你要换成你后台处理地址,这个与你j2ee使用架构有关,我使用的为springmvc,因此,我采用地址比喻为“dz/login.do?... ”,如果你用jsp,就要变成servelet,这个要与后台协调工作。
5、后台处理代码。
1、对账户、密码进行处理。
2、返回处理结果。
结果是xml风格返回,你要预先将可能的结果以xml格式,分节点组装到html文件中,通过我上面说的方式,将节点按情况返回。如我的xml格式:
<?xml version="1.0" encoding="utf-8"?>
<div id="root">
<div id="idcardError">
<script type="text/javascript" reload="1">
if (typeof messagehandle_common == 'function') {
messagehandle_common('1', '_showid_', '身份证号输入有误!');
}
</script>
</div>
<div id="commonError">
输入有误,无法提交,请修改。
</div>
<div id="testcommonError">
输入有误,无法提交${base},请修改。
</div>

<div id="orgPaswInvalid">
原始密码输入有误,无法提交,请修改。
</div>
<div id="newPaswUnlikeliness">
新密码两次输入不一样,无法提交,请修改。
</div>
<div id="newPaswlenDissatisfy">
新密码应在6-20位之间,无法提交,请修改。
</div></div>
其中id为节点,通过dom4j将读取文件,提取节点。

以上就是实现思想。

石珺涵
2012年4月
Email:smn8899@163.com



级别: 秀才
UID: 38320
积分:70 加为好友
威望: 1 精华: 0
主题:1 回复:70
注册时间:2012-09-05
在线时长:0
24#   发表于:2016-09-12 16:59:40  IP:60.48.*.*
谢谢分享!
|< < 1 2 3 共3页