Spring Roo 3 实例训练[同时使用Javascript库dojo和jQuery并使用Rest服务]

简介: 前两篇讲解了ROO的一些基本知识,这篇来个实例看看整个的开发过程。 首先进入roo命令行,执行如下的脚本[建工程和必要的设置] project --topLevelPackage lesson persistence setup --provider HIBERNATE --database ...

前两篇讲解了ROO的一些基本知识,这篇来个实例看看整个的开发过程。

首先进入roo命令行,执行如下的脚本[建工程和必要的设置]

project --topLevelPackage lesson

persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY

web mvc setup

security setup

entity --class ~.domain.Pet

field string --fieldName name

json add --class ~.domain.Pet

controller scaffold --class ~.web.PetController --entity ~.domain.Pet

建立一个起始框架

使用mvn tomcat:run可以在浏览器http://localhost:8080/lesson/ 查看默认的界面,已经可以进行增删改了

同时JSON服务也可以访问

http://localhost:8080/lesson/pets?form 加入一个记录

然后模仿JSON的访问

$ curl -i -H "Accept: application/json" http://localhost:8080/lesson/pets

HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Content-Type: application/text;charset=utf-8

Content-Length: 35

Date: Wed, 12 Oct 2011 06:03:15 GMT

[{"id":1,"name":"dog","version":0}]

增加的步骤:

添加jquery资源

lesson\src\main\webapp\scripts 放入jquery和easyui库和css等

配置apache tiles的布局

lesson\src\main\webapp\WEB-INF\layouts 放入jdefault.jspx ,layouts.xml修改

实现jquery等母板资源的加载

lesson\src\main\webapp\WEB-INF\tags\util 放入jload-scripts.tagx

具体的部分母板页实现页面

lesson\src\main\webapp\WEB-INF\views 放入

jheader.jspx

jindex.jspx

jfooter.jspx

work.jspx

同时修改views.xml

导航

webmvc-config.xml 加入<mvc:view-controller path="/main" view-name="main"/>

<mvc:view-controller path="/work" view-name="work"/>

image

其中的登录逻辑使用Spring Security,并修改为json服务的步骤:

登录服务LoginController

@RequestMapping(method = RequestMethod.POST)

@ResponseBody

public ResponseEntity<String> login(@RequestParam("j_username") String username,

@RequestParam("j_password") String password) {

LoginStatus s = loginService.login(username, password);

return new ResponseEntity<String>(s.toJson(), headers, HttpStatus.OK);

}

客户端界面

$.ajax({url: "${req}/api/login",

type: "POST",

dataType:"json",

beforeSend: function(xhr) {

xhr.withCredentials = true;

},

data: $("#loginForm").serialize(),

success: loginSucess,

error: loginFailed

});

详细代码参考:

https://skydrive.live.com/?cid=56b433ad3d1871e3&sc=documents&uc=1&id=56B433AD3D1871E3%21274# 

相关文章
|
9月前
|
JavaScript 前端开发 Java
通义灵码 Rules 库合集来了,覆盖Java、TypeScript、Python、Go、JavaScript 等
通义灵码新上的外挂 Project Rules 获得了开发者的一致好评:最小成本适配我的开发风格、相当把团队经验沉淀下来,是个很好功能……
1585 103
|
9月前
|
JavaScript 前端开发 API
|
JavaScript 前端开发 Python
用python执行js代码:PyExecJS库
文章讲述了如何使用PyExecJS库在Python环境中执行JavaScript代码,并提供了安装指南和示例代码。
836 1
用python执行js代码:PyExecJS库
|
8月前
|
资源调度 JavaScript 前端开发
Day.js极简轻易快速2kB的JavaScript库-替代Moment.js
dayjs是一个极简快速2kB的JavaScript库,可以为浏览器处理解析、验证、操作和显示日期和时间,它的设计目标是提供一个简单、快速且功能强大的日期处理工具,同时保持极小的体积(仅 2KB 左右)。
519 24
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实战指南
【9月更文挑战第6天】在数字化时代的潮流中,后端开发作为支撑现代Web和移动应用的核心,其重要性不言而喻。本文将深入浅出地介绍如何使用Node.js及其流行的框架Express来搭建一个高效、可扩展的后端服务。通过具体的代码示例和实践技巧,我们将探索如何利用这两个强大的工具提升开发效率和应用性能。无论你是后端开发的新手还是希望提高现有项目质量的老手,这篇文章都将为你提供有价值的见解和指导。
|
JavaScript 前端开发
如何在不影响性能的前提下使用JavaScript库来实现复杂的动画效果?
如何在不影响性能的前提下使用JavaScript库来实现复杂的动画效果?
557 156
|
JavaScript 前端开发 中间件
构建高效后端服务:Node.js与Express框架的完美搭档
【8月更文挑战第28天】在追求高性能、可扩展和易维护的后端开发领域,Node.js和Express框架的组合提供了一种轻量级且灵活的解决方案。本文将深入探讨如何利用这一组合打造高效的后端服务,并通过实际代码示例展示其实现过程。
|
11月前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
526 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
移动开发 JavaScript 前端开发
一些处理浏览器兼容性问题的JavaScript库
这些库在处理浏览器兼容性问题方面都有着各自的特点和优势,可以根据具体的需求和项目情况选择合适的库来使用,从而提高代码的兼容性和稳定性,为用户提供更好的体验。同时,随着浏览器技术的不断发展,还需要持续关注和学习新的兼容性解决方案。
417 58
|
算法 开发者
Moment.js库是如何处理不同浏览器的时间戳格式差异的?
总的来说,Moment.js 通过一系列的技术手段和策略,有效地处理了不同浏览器的时间戳格式差异,为开发者提供了一个稳定、可靠且易于使用的时间处理工具。
369 57