`
pipo
  • 浏览: 24150 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

JForum中对DWR的应用

阅读更多

转载:http://www.jeedao.net/posts/list/25.page

  JForum 2.1.7版本中少量的使用了DWR,应该是JForum开始尝试使用Ajax吧。JForum中仅“预览帖子”和后台管理系统的“邮件发送测试”两个功能使用了DWR。
  查看\WEB-INF\dwr-jforum.xml文件你会发现这里只定义了一个java类“net.jforum.util.ajax.AjaxUtils”。dwr-jforum.xml是JForum中的DWR配置文件,你可以在里面增加更多的DWR调用功能。
  现在以“预览帖子”功能为例说明一下JForum中对DWR的应用,打开AjaxUtil.java文件,里面有这样一个函数:
Code:
<!---->

public static Post previewPost(Post p)
         {
                 if (p.isHtmlEnabled()) {
                         p.setText(SafeHtml.makeSafe(p.getText()));
                 }
                 
                 p = PostCommon.preparePostForDisplay(p);
                 
                 return p;
         }


  这是服务器端代码。

  再打开\templates\default\post_form.htm文件,留意以下代码:
Code:

<script type="text/javascript" src="${contextPath}/dwr/interface/AjaxUtils.js?${startupTime}"></script>
 <script type="text/javascript" src="${contextPath}/dwr/engine.js?${startupTime}"></script>


  这是由DWR动态生成的javascript脚步程序。

  打开/templates/default/js/post.js文件,看以下代码:
Code:

function previewMessage()
 {
         var f = document.post;
 
         if (supportAjax()) {
                 var p = { 
                         text:f.message.value, 
                         subject:f.subject.value, 
                         htmlEnabled:!f.disable_html.checked, 
                         bbCodeEnabled:!f.disable_bbcode.checked, 
                         smiliesEnabled:!f.disable_smilies.checked 
                 };
 
                 AjaxUtils.previewPost(p, previewCallback);
         }
         else {
                 f.preview.value = "1";
                 f.submit();
         }
 }
 
 function previewCallback(post)
 {
         document.getElementById("previewSubject").innerHTML = post.subject;
         document.getElementById("previewMessage").innerHTML = post.text;
 
         document.getElementById("previewTable").style.display = '';
 
         var s = document.location.toString();
         var index = s.indexOf("#preview");
 
         if (index > -1) {
                 s = s.substring(0, index);
         }
 
         document.location = s + "#preview";
 }


  previewMessage()函数调用AjaxUtils.previewPost(p, previewCallback)通过DWR引擎调用后台java类的功能,并设置了回调函数previewCallback。服务器返回信息将通过previewCallback(post)函数处理。
  以前没有研究过DWR,不过现在看JForum里面的应用觉得DWR应用起来也挺简单的。

分享到:
评论

相关推荐

    jforum说明文档 源码解析 单点登录 jforum缓存

    通过阅读这些PPT,你可以更直观地了解Jforum的工作原理和应用场景,对学习和使用Jforum大有裨益。 总结,Jforum是一个功能丰富的Java论坛系统,其源码解析有助于深入理解其内部机制。从数据库设计到缓存优化,再到...

    jforum3.0所需要的jar包

    在部署jForum3.0时,确保所有必要的jar包都在类路径中,并且版本兼容,是系统正常运行的关键。开发者通常会将这些jar包放在WEB-INF/lib目录下,以便Web服务器在启动时自动加载。理解这些jar包的作用和功能,有助于...

    JForum 2.1.8 中文乱码问题

    解决JForum 2.1.8中文乱码问题需要对软件的运行环境有深入了解,包括Web服务器、数据库服务器以及JForum自身的配置。通过以上步骤,大多数情况下可以有效解决乱码问题。但需要注意的是,每个部署环境可能都有其特殊...

    Jforum二次开发成果

    2.3 代码编写与修改:在Eclipse中,对Jforum的源码进行修改或添加新代码,实现新功能。例如,为了实现子论坛功能,可能需要对用户权限管理、板块分类以及导航栏进行调整。 2.4 数据库操作:使用jforum_dump.sql文件...

    jforum+ckeditor整合案例

    在JForum中整合CKEditor,可以替换其默认的编辑器,从而提供更强大的文本格式化和媒体插入能力,提升用户在论坛中的互动体验。 整合JForum和CKEditor的过程主要包括以下几个步骤: 1. **下载和准备** - 首先,你...

    jforum漏洞利用源代码

    然而,如同任何复杂的软件系统一样,JForum也存在安全漏洞,这些漏洞可能被恶意用户利用,对论坛的稳定性和用户数据安全构成威胁。本文将围绕"jforum漏洞利用源代码"这一主题,深入探讨相关知识点。 1. **JForum...

    Jforum论坛数据库架构

    **正文** Jforum是一款基于Java语言开发的开源论坛系统,其强大的功能和灵活性使其在互联网社区建设中受到广泛欢迎。...在实际应用中,应根据业务需求和负载情况进行适当的调整和优化,以确保Jforum论坛的高效运行。

    jforum3源代码

    本文将深入探讨JForum3的源代码,帮助开发者了解其内部工作原理,提升对Web应用程序开发的理解。 1. **框架与技术栈** JForum3基于Java编程语言,利用Spring框架进行依赖注入和控制反转,提高了代码的可测试性和...

    jforum 源码

    **正文** JForum是一款基于Java...通过对JForum源码的深度学习,开发者不仅可以掌握FreeMarker的使用,还能了解一个完整的Web应用是如何设计和实现的,对于提升Java Web开发技能和理解大型项目结构有着极大的帮助。

    JForum3 完整项目

    这个项目包含的是从版本控制系统Subversion(SVN)中导出的完整源代码,未经任何修改,因此用户可以深入研究其内部机制,进行二次开发或者学习Java Web应用的构建。 **JForum3核心特性** 1. **多语言支持**:...

    Jforum2.19

    总之,Jforum 2.19是一个强大的Java论坛系统,结合MyEclipse这样的IDE,开发者可以轻松地进行开发、调试和部署工作,同时加深对Java Web技术的理解。通过深入研究源代码,你可以进一步提升自己的技能,为构建自己的...

    java开源论坛jforum

    Java开源论坛JForum是一款基于Java开发的讨论区平台,它为开发者提供了一个高效、功能...通过对JForum的源码学习,开发者可以掌握更多关于Web应用设计和实现的实用技巧,对于个人技术成长和职业发展都有着积极的影响。

    JForum_SSO_-_JForum单点登陆原理与配置

    2. **配置JForum**:完成SSO类的编写后,需要在JForum的配置文件中进行配置,使其使用这个自定义的SSO类。具体的配置步骤可能涉及修改`forum.properties`或其他相关配置文件,确保JForum在启动时加载并使用自定义的...

    Jforum相关文档和PPT

    在Jforum中,用户请求被控制器(Controller)接收,然后根据请求类型调用相应的模型(Model)进行业务逻辑处理,最后更新视图(View)以展示结果。这种架构分离了业务逻辑和用户界面,有利于代码的维护和扩展。 ...

    jforum3.0项目需要的jar包

    10. **安全性与权限**:在实际部署中,确保对JForum进行了适当的权限和安全配置,以防止未授权访问和潜在的安全漏洞。 11. **测试与调试**:部署后,进行功能测试以确保所有部分正常工作。如果遇到问题,可以查看...

    jforum2论坛源码

    描述还指出"可以搭配jmeter书籍作为测试环境使用",意味着有相关的教材或指南可以帮助我们更好地理解如何使用JMeter对jforum2进行性能测试。这可能是为了帮助开发者或测试人员了解如何设置测试场景,监控系统资源,...

    JForum3 jforum java 开源论坛 论坛

    在Java编程领域,JForum3的开发基于Java Servlet和JavaServer Pages(JSP)技术,这使得它能够跨平台运行,并且与各种Java应用服务器兼容。同时,它利用了Model-View-Controller(MVC)设计模式,这种模式有助于分离...

    利用JForum创建论坛

    JForum基于BSD授权,这意味着在使用过程中不必担心版权问题。该论坛采用自有的MVC框架,初次接触可能需要适应,但一旦熟悉,就能方便地进行定制和开发。 在创建JForum论坛之前,需要准备以下软件环境: 1. JDK:...

    jforum2.1.8

    总之,JForum 2.1.8不仅是一个功能丰富的论坛系统,也是一个优秀的学习平台,对Java Web开发者具有很高的参考价值。通过深入了解和实践,我们可以掌握更多关于Java Web开发的知识,提高自己的技术水平。

    jforum安装

    5. **部署应用**:将生成的WAR文件部署到你的应用服务器中,如Tomcat的`webapps`目录下。 6. **初始化论坛**:首次启动应用后,访问JForum的安装URL(通常是服务器地址/jforum/install),按照提示完成论坛的初始化...

Global site tag (gtag.js) - Google Analytics