Struts2可以和JQuery 完美结合.
我假定你已经在你的项目中选择了Struts2,你的项目中会有一些表单需要作前端验证, 比如登录表单, 注册表单等等, 甚至, 你还想加一些Ajax进去, 这一切, Struts2和它的JQuery 插件可以帮你搞定.
OK, 在讲这些之前, 可以先看看Jquery 插件的 Show case, 以印证我之前提到的所谓的完美.
http://www.weinfreund.de/struts2-jquery-showcase/index.action接下来我分几个步骤一步步讲如何将Struts2 与JQuery 两者整合.
第一步:引入Struts2-Jquery 插件 如果你的项目是基于Maven开发, 则在你的pom.xml里面加入
<dependency><groupId>com.jgeppert.struts2.jquery</groupId>
<artifactId>struts2-jquery-plugin</artifactId>
<version>2.0.0</version>
</dependency>
第二步:在表单中使用Jquery 组件画一个日期控件
要用JQuery 画 UI控件, 就要在jsp 页面中引入Jquery 相关的的JS文件, 使和Struts2-Jquery 插件会使这一步变得很简单。
1.在jsp页面引入 struts2 Jquery 标签, 如下:
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
2.在<head></head> 之间加入Jquery头标签, 实际上这个标签的作用就是帮你引入Jquery 的相关js 文件, 同时, 初始化一些配置信息:
<sj:head locale=’en’ jqueryui="true"/>
3. 在表单里面放入你想放的日期控件, 并打开网页查看效果。
<sj:datepicker id="date0" label="Select a Date" />
第三步:中文
我相信你在完成第二步的时候已经开始查看你的页面效果了, 你是不是看到了一个日期控件? 可惜它是英文的, 如果你不是在做外包, 估计你还得往下看。
在第二步时, 我在<head></head> 之间加入Jquery头标签已经定义了接下来展示的控件是英文的。
<sj:head locale=’en’ jqueryui="true"/> 中的 locale=’en’ 就表示要使用英文展示控件内容, 将它变成 locale=’zh_CN’ 使表示要展示的是简体中文内容的控件啦。
可是,别急..你得注意一下你的网页字符格式,它是UTF-8吗?如果是,恭喜你完工了,打开网页你就可以看到一个中文化的日期控件。
可是现实很残酷,在中国的软件公司做中国的项目, 数据库里存的尽是GB2312, 说是为了节省空间, 好像这年头最贵的不是程序员工资而是服务器硬盘。 网页打开的格式也基本要求是GB2312或GBK。
这给Java程序员引入开源带来不少麻烦, 因为老外它就认UTF-8, 在Struts2-JQuery 插件里面存的js格式也是UTF-8的。
在GBK格式的网页里面一引入带中文字符的UTF-8格式的js文件就会出js错误。
办法:
在Struts2-Jquery 插件里面有两个带中文字符的js文件,分别是 template/i18/grid.locale-zh-CN.js 和 template\i18n\jquery.ui.datepicker-zh-CN.min.js 把它们拉出来, 改为GB2312的。 存到class目录的 template/i18n 目录下。 根据class加载顺序, 应当会将class目录下的两个文件载入 struts2-Jquery.jar 目录中的两个js文件会被忽略。
好了,GBK格式的网页的麻烦也没有啦…
第四步:表单验证
服务器当然也可以完成验证工作, 而表单客户端验证其实是变相的把一部分计算让客户端来承担。
打开以下链接, 可以看到Jquery validation 的 Demo
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
JQuery 的验证框架整合到 Struts2 中非常easy.
如下:
在JSP的head 中引入 javascript 文件。
http://IP/app/js/jquery.validate.min.js
另加一段Javacript
<script>
$(document).ready(function(){
$("#formId").validate();
});
</script>
假设你的表单项如下:
<form id="formId">
<input type="text" name="username" />
<input type="submit" value="提交" />
</form>
这样就说明,你的验证框架已经和 fromId 这个表单建立了关联, 假设你想把表单项 username 设置为必填项, username 表单项改为如下:
<input type="text" name="username" class="required"/>
好了这时候,你点击提交按钮的时候便会提示 usrename is required.
第五步:Ajax 提交
struts-jquery 插件提供了ajax 的表单提交按钮.
<s:form id="form" action="echo" theme="simple" cssClass="yform">
<fieldset>
<legend>AJAX Form</legend>
<div class="type-text">
<label for="echo">Echo: </label>
<s:textfield id="echo" name="echo" value="Hello World!!!"/>
</div>
<div class="type-button">
<sj:submit targets="formResult" value="AJAX Submit" /> </div>
</fieldset>
</s:form>
<div id="formResult"></div>
以上的代码表示提交到服务器之后, 服务器返回的内容将展示到id为formResult的div上。
相关推荐
本人刚学jquery,自己从网上找的资料然后研究,最后实现了jquery与struts2整合,界面通过jquery从struts2的action中数据交互
Web2.0的随波逐流,Ajax那是大放异彩,Struts2框架自己整合了对Ajax的原生支持(struts 2.1.7+,之前的版本可以通过插件实现),框架的整合只是使得JSON的创建变得异常简单,并且可以简单的融入到Struts2框架中,...
4、应用WEB前段主流技术,js与JQuery 运用JQuery初始化加载数据,js登陆 显示层应用多少方式,例如Session显示用户,EL应用,jsp内置对象应用 使用主流的JSP标签JSTL,STRUTS2 标签 ongl数据显示 是一个集成好多...
此项目整合了目前主流和最前源的web开发技术:采用ehcache实现二级缓存(包含查询缓存);用sf4j及logback(log4j的升级版)记录日志;proxool(据说是dbcp和c3p0三者中最优秀的)做连接池;使用jquery的ajax实现仿...
此项目整合了目前主流和最前源的web开发技术:采用ehcache实现二级缓存(包含查询缓存);用sf4j及logback(log4j的升级版)记录日志;proxool(据说是dbcp和c3p0三者中最优秀的)做连接池;使用jquery的ajax实现仿...
uploadify web项目 整合strut2
此项目整合了目前主流和最前源的web开发技术:采用ehcache实现二级缓存(包含查询缓存);用sf4j及logback(log4j的升级版)记录日志;proxool(据说是dbcp和c3p0三者中最优秀的)做连接池;使用jquery的ajax实现仿...
运行环境 jdk8+tomcat7+mysql 项目技术(必填) spring+Struts2+mybatis+bootstrap+jquery 数据库文件 数据库的表在程序里 登录地址是:http://localhost:8080/YuanHeng3/web/admin/ 账号:admin 密码:admin123
100道逻辑思维趣题,ajax框架:dwr》实战(包括整合),Ajax中英文对照手册,CSS2 – Quick Reference Guide,css滤镜,css样式,DHTML默认行为手册,DOM文档对象模型手册,JavaScript源码大全 v1.0,javascript资料(源码,...
Java Web Demo,前台使用easyUI控件、jQuery技术,后台使用Spring、Struts、Hibernate技术。具体运行参考:http://blog.csdn.net/fansy1990/article/details/39319335
此项目整合了目前主流和最前源的web开发技术:采用ehcache实现二级缓存(包含查询缓存);用sf4j及logback(log4j的升级版)记录日志;proxool(据说是dbcp和c3p0三者中最优秀的)做连接池;使用jquery的ajax实现仿...
此项目整合了目前主流和最前源的web开发技术:采用ehcache实现二级缓存(包含查询缓存);用sf4j及logback(log4j的升级版)记录日志;proxool(据说是dbcp和c3p0三者中最优秀的)做连接池;使用jquery的ajax实现仿...
熟练掌握基于Struts2的Web开发技巧。 实训项目四:T-NetCTOSS电信计费系统项目开发 第五阶段(以"航空订票"真SS实电项信目计为费贯系穿统项贯目穿) 企业应用开发部署环境 Linux高级命令集脚本编程、远程登录、Ant、...
SSH(Spring+Struts+Hibernate)轻量级购物软件Shopping演示系统(Java Web Edition)技术要点:Spring+Struts+Hibernate三大框架整合,Jquery-treeview、DIV+CSS3、HTML5、JavaScript、分页组件pagination、MySQL。
熟练使用spring,struts2,hibernate,springmvc,mybatis,springboot等架构的以及各相互间的整合开发(ssh,ssm),配置及对象的设计和开发。 对redis缓存,ActionMQ消息队列有一定的了解使用。 熟练使用jsp、servlet、...
针对传统方式开发的餐饮Web App平台难以维护和扩展、用户体验不够好等问题,本文提出一种以Windows为开发环境,Eclipse为开发工具,Oracle为数据库,将SSH和jQuery这两种框架整合应用于系统开发的方案。该方案包括视...
底层为成熟的J2EE开源技术框架Spring3、Struts2、Hibernate3.6 数据访问层采用Hibernate 结合Ibatis,整合这两种Orm框架的优点,高效稳定 安全控制框架采用成熟稳定的Spring Security 3 前台基于Js、Jquery开源组件...
利用Spring Hibernate Struts2初步整合实现的通讯录的查询和添加功能 没有实现删除和更新操作。前台也用到了jquery和ajax.图片melody我删除了 大家可以自己再加。其中hibernate实现了 1对1的共享主键和外键映射 1对...
集结最新主流时尚开源技术的面向企业级Web应用的基础开发框架,提供一个J2EE相关主流开源技术架构整合及一些企业应用基础通用功能和组件的设计实现的最佳实践和原型参考。 以下两个站点代码和文档同步更新,请自由...