freemarker与struts配置实例和dwr实例
Freemarker、Struts2和DWR是Java Web开发中常用的三个组件,它们分别负责不同的职责,协同工作可以构建出高效、动态的Web应用程序。在这个实例中,我们将深入理解这三个技术,并通过具体配置来了解它们如何协同工作。 **FreeMarker** 是一个模板引擎,它允许开发者将业务逻辑与视图层分离,使页面呈现更加灵活。FreeMarker模板语言(FTL)是一种简单的文本格式,用于描述如何在HTML或其他文档类型中动态生成内容。在Struts2框架中,FreeMarker常作为视图层的渲染工具,接收Action传递的数据并生成动态网页。 **Struts2** 是基于MVC设计模式的Java Web框架,它的核心是Action类,负责处理用户的请求并调用业务逻辑。Struts2提供了丰富的拦截器、结果类型以及插件机制,使得开发更易于维护和扩展。在这个实例中,你将会看到如何配置Struts2以连接FreeMarker模板,以及如何在Action中设置数据供模板使用。 **Direct Web Remoting (DWR)** 是一个允许JavaScript在浏览器端直接调用服务器端Java方法的库,实现Ajax无刷新交互。DWR通过动态生成JavaScript库,使得前端开发者可以像操作本地对象一样调用远程Java方法,增强了用户体验。在这里,你将学习到如何配置DWR,创建Java端的Remote Interface,以及在客户端JavaScript中调用这些接口。 配置过程通常包括以下步骤: 1. **添加依赖**:在项目中引入FreeMarker、Struts2和DWR的相关依赖库,这通常通过Maven或Gradle等构建工具完成。 2. **配置Struts2**:在`struts.xml`配置文件中,定义Action类和对应的Result,指定使用FreeMarker模板进行渲染。例如: ```xml <action name="yourAction" class="com.example.YourAction"> <result type="freemarker">/path/to/your/template.ftl</result> </action> ``` 3. **配置FreeMarker**:在`web.xml`中配置FreeMarker的Servlet,指定模板目录等参数。同时,需要在Struts2的配置中声明FreeMarker为默认的结果类型。 4. **创建FreeMarker模板**:根据Action提供的数据,编写`.ftl`模板文件,使用FTL语法来动态生成HTML内容。 5. **配置DWR**:在`dwr.xml`中定义允许暴露给JavaScript的Java接口,如: ```xml <allow> <create class="com.example.YourService" javascript="YourService"> <method name="yourMethod" /> </create> </allow> ``` 6. **编写Java接口**:在Java后端实现DWR的Remote Interface,提供需要被调用的方法。 7. **客户端调用**:在前端JavaScript中,通过DWR生成的JavaScript库,可以直接调用后端的Java方法,如: ```javascript YourService.yourMethod(param, function(response) { // 处理返回的数据 }); ``` 这个实例是一个基础的学习资源,适合初学者理解这三个技术的集成和使用。在实际开发中,你可能需要进一步学习如何处理更复杂的业务逻辑、错误处理、安全性和性能优化等方面的知识。通过不断实践和学习,你可以熟练掌握这些工具,构建出功能强大的Web应用。
- 1
- 大数据分析BDA2013-10-28适合参考的例子
- 「已注销」2012-12-14非常感谢楼主的分享,最近也正常去学习这门技术。
- crubeecitlefix2012-08-14例子不错~参考了一部分~感谢分享
- 粉丝: 16
- 资源: 27
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Magica Cloth 2 V 2.13布料模拟插件
- 基于SpringBoot的在线考试系统源代码全套技术资料.zip
- 运行在PostgreSQL中的AdventureWorks示例数据库
- 最新女神大秀直播间打赏视频付费观看网站源码 自带直播数据
- 客户购物 (最新趋势) 数据集
- 配电网优化模型matlab 考虑可转移负荷、中断负荷以及储能、分布式能源的33节点系统优化模型,采用改进麻雀搜索算法,以IEEE33节点为例,以风电运维成本、网损成本等为目标,得到系统优化结果,一共有
- MATLAB代码:基于条件风险价值的合作型Stackerlberg博弈微网动态定价与优化调度 关键词:微网优化调度 条件风险价值 合作博弈 纳什谈判 参考文档:A cooperative Stack
- 述职报告PPT模板及样例文章
- MATLAB代码:基于分布式优化的多产消者非合作博弈能量共享 关键词:分布式优化 产消者 非合作博弈 能量共享 仿真平台: matlab 主要内容:为了使光伏用户群内各经济主体能实现有序的电能交易
- 学生抑郁数据集-可以用于分析学生的心理健康趋势
- CRUISE纯电动车双电机四驱仿真模型,基于simulink DLL联合仿真模型,实现前后电机效率最优及稳定性分配 关于模型: 1.策略是用64位软件编译的,如果模型运行不了请将软件切成64位 切
- Android程序开发初级教程WORD文档doc格式最新版本
- cruise混动仿真,P2并联混动仿真模型,Cruise混动仿真模型,可实现并联混动汽车动力性经济性仿真 关于模型 1.模型是基于cruise simulink搭建的base模型,策略模型基于MAT
- HCIP 复习内容实验 ia
- BGP路由协议模拟器,网络路由条目实时监控
- MATLAB代码:含多种需求响应及电动汽车的微网 电厂日前优化调度 关键词:需求响应 空调负荷 电动汽车 微网优化调度 电厂调度 仿真平台:MATLAB+CPLEX 主要内容:代码主要做的是一