- 浏览: 68600 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (49)
- Server (3)
- JavaSE (6)
- Cache (2)
- Web (18)
- Struts1/Struts2 (7)
- Spring (3)
- eclipse/myeclipse (2)
- Linux (1)
- Freemarker/Jsp (3)
- Ibatis (0)
- Hibernate (1)
- Ajax (3)
- webservice (3)
- Exceptions (1)
- Android (7)
- Android permission (1)
- DataBase (0)
- DataBase Sqlite3 (1)
- DataBase Oracle (3)
- sina微博 分享 (1)
- 微博接口 (1)
最新评论
-
trx999:
为什么拿到了key了以后还是看不见地图啊?这是什么情况啊?貌似 ...
android google map key 申请变更[记录] -
wxlgzxx_1988:
achun 写道这个问题其实是http head中的Conte ...
ajax js跨域后乱码原因及解决办法 -
achun:
这个问题其实是http head中的Content-Type没 ...
ajax js跨域后乱码原因及解决办法 -
cmjcmj8080:
...
eclipse优化 -
wxlgzxx_1988:
上下文就是整个应用程序的运行环境,在这个环境里边可以保存一些对 ...
Struts2中OGNL极其用法
Struts2+JQuery+Json及JQuery相关插件的例子
注意事项:
1.开发时,应将工程及相应的页面数据库编码均设为:utf8解决乱码问题;
2.当前开发版本为struts2.1.8,不同的struts2版本会有不同的jar包需要引入,具体见readme.txt
3.autocomplete插件不是很完善,尚不能处理json数据;弹出层框架只针对图片(可修改格式适应其它形式)
readme.txt:
1.JQuery的Ajax实现并与struts2的结合
- 2.配置过程:
- a.新建web项目;
- b.修改web.xml文件
- c.在src下添加struts.xml文件,添加jar包支持:freemarker.jar ognl.jar struts2-core.jar commons-fileupload.jar
- commons-io.jar xwork-core-2.1.6.jar(这个包加上版本号,是因为下文要提到它),注意jar包支持
- 这六个包是struts必须依赖的jar包
- d.配置jsp文件,在jsp里面添加jquery支持
- e.配置action
- f ( 一)在struts2.1.6之前的版本:
- 添加相应的json包:json-lib.jar jsonplugin.jar 这里要注意很重要的一点,因为json大量引用了Apache commons的包,所以这里要一并加入,
- 需要的commons包共4个,除了commons的包外,还需要引入一个 ezmorph的包,所以这一步一共要引入7个包,列出如下:
- commons-collections.jar commons-lang.jar
- commons-beanutils.jar commons-logging.jar ezmorph.jar 再加上json的两个包共七个
- (二)struts2.1.6,添加jsonplugin0.34或者jsonplugin0.7
- (三)struts2.1.8则添加json-lib-2.2.3.jar,struts2-json-plugin,struts2-junit-plugin
- 3.插件使用:
- 1.validation插件:详见table-validation.jsp,主要为引入一个jquery.validate.js,获取相应的属性名来进行验证;
- 2.tablesort插件:目前用的是兼容中文的官网版本,一是可以实现自动排序,二是支持中文;要注意在table当中的格式,这点很重要
- 3.tablesortpager插件
- JQuery与Json结合的一些注意事项:
- 1.$.get(url,data,function(data){
- eval(data);
- })
- eval(data)将数据转换为js对象;
- 实际上如果返回的json对象,可通过将参数直接命名为json即可,如下
- $.get(url.data,function(data){},"json")
- 2.取json属性时,尽量用中括号方式,原因是如果有数字属性会发生不识别的现象
- eg:var a=obj["31001"];
- //obj.31001则可能出错
- 解决办法有其它方式:比如将属性值31001改为s31001
- 3.乱码问题:
- 在struts1.2中,通过设置表头的编码来解决乱码问题,注意对于xml和json,要分别设置为text/xml和text/json
- eg:response.setContentType("text/json; charset=utf-8");
1.struts.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
- <!-- 指定Struts 2配置文件的DTD信息 -->
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <constant name="struts.i18n.encoding" value="utf-8"></constant>
- <package name="S2SHJQuery" extends="json-default">
- <action name="show" class="action.ShowAction">
- <result type="json"/>
- </action>
- </package>
- </struts>
2.ShowAction.java配置 :
package action;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import org.apache.struts2.json.annotations.JSON;
- import com.opensymphony.xwork2.ActionSupport;
- public class ShowAction extends ActionSupport {
- private String testvalue;
- private String result;
- private List<String> list;
- private List<User> userlist;
- private User user;
- private Map<String, User> map;
- private String[] autoarray;
- public String[] getAutoarray() {
- return autoarray;
- }
- public void setAutoarray(String[] autoarray) {
- this.autoarray = autoarray;
- }
- @JSON(serialize=false)
- public Map<String, User> getMap() {
- return map;
- }
- public void setMap(Map<String, User> map) {
- this.map = map;
- }
- @JSON(serialize=false)
- public User getUser() {
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- @JSON(serialize=false)
- public List<User> getUserlist() {
- return userlist;
- }
- public void setUserlist(List<User> userlist) {
- this.userlist = userlist;
- }
- @JSON(serialize=false)
- public List<String> getList() {
- return list;
- }
- public void setList(List<String> list) {
- this.list = list;
- }
- public void setTestvalue(String testvalue) {
- this.testvalue = testvalue;
- }
- @JSON(serialize=false)
- public String getTestvalue() {
- return testvalue;
- }
- @JSON(serialize=false)
- public String getResult() {
- return result;
- }
- public void setResult(String result) {
- this.result = result;
- }
- @Override
- public String execute() throws Exception {
- // TODO Auto-generated method stub
- System.out.println("test is ok: "+testvalue);
- //1.����string
- /*int i=9;
- //result=""+i+"";
- result="中国";*/
- //2.listֵ
- /*list=new ArrayList<String>();
- list.add("allen");
- list.add("中国");
- list.add("adc");*/
- //3.list�а�User
- /*userlist=new ArrayList<User>();
- User user1=new User();
- user1.setPassword(1);
- user1.setUsername("username1");
- User user2=new User();
- user2.setPassword(2);
- user2.setUsername("username2");
- User user3=new User();
- user3.setPassword(3);
- user3.setUsername("username3");
- userlist.add(user1);
- userlist.add(user2);
- userlist.add(user3);*/
- //4.User���Ͳ���
- /*user=new User();
- user.setPassword(1);
- String username="中国";
- user.setUsername(username);
- System.out.println(user.getUsername());
- */
- //5.map����
- /*map=new HashMap<String, User>();
- User user1=new User();
- user1.setPassword(1);
- user1.setUsername("username1");
- User user2=new User();
- user2.setPassword(2);
- user2.setUsername("username2");
- User user3=new User();
- user3.setPassword(3);
- user3.setUsername("username3");
- map.put("s1",user1 );
- map.put("s2",user2 );
- map.put("s3",user3 );*/
- /*map=new HashMap<String, String>();//��ʱΪ��String,string��ʽ
- map.put("s1","user1");
- map.put("s2","user2");
- map.put("s3","user3");*/
- //7.直接传递数祖
- autoarray=new String[3];
- autoarray[0]="a";
- autoarray[1]="b";
- autoarray[2]="c";
- return SUCCESS;
- }
- }
3.show.jsp配置:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <mce:script type="text/javascript" src="/S2SHJQuery/js/jquery.js" mce_src="S2SHJQuery/js/jquery.js"></mce:script>
- <base href="<%=basePath%>">
- <title>struts2+jquery+json</title>
- <mce:script type="text/javascript"><!--
- //1.struts2+jquery+json单独传递单个参数
- /*$(function(){
- $("#jquerytest").click(function(){
- var params={testvalue:$('#test').val()};
- $.ajax({
- url:"show.action",
- data:params,
- type:'post',
- dataType:'json',
- success:function(data){
- //data += decodeURI(data.shtml) ;
- alert("成功");
- alert(data.result);
- },
- error: function(){
- alert("失败");
- }
- })
- })
- })*/
- //2.jquery单独传递含单个参数的list
- /*$(function(){
- $("#jquerytest").click(function(){
- var params={testvalue:$('#test').val()};
- $.ajax({
- url:"show.action",
- data:params,
- type:'post',
- dataType:'json',
- success:function(data){
- var jsonobject=data.list;
- for(var j=0;j<jsonobject.length;j++)
- {
- alert(jsonobject[j]);
- }
- },
- error: function(){
- alert("失败");
- }
- })
- })
- })*/
- //3.jquery单独传递含对象类型User的list
- $(function(){
- $("#jquerytest").click(function(){
- var params={testvalue:$('#test').val()};
- $.ajax({
- url:"show.action",
- data:params,
- type:'post',
- dataType:'json',
- success:function(data){
- var jsonobject=data.userlist;
- /*for(var j=0;j<jsonobject.length;j++)
- {
- alert(jsonobject[j].username);
- alert(jsonobject[j].password);
- }
- */
- $.each(jsonobject,function(key,value){
- alert(key+" "+value.username);
- alert(key+" "+value.password);
- })
- }
- ,
- error: function(){
- alert("失败");
- }
- })
- })
- })
- //4.jquery单独传递User对象类型
- /*$(function(){
- $("#jquerytest").click(function(){
- var params={testvalue:$('#test').val()};
- $.ajax({
- url:"show.action",
- data:params,
- type:'post',
- dataType:'json',
- contentType: "application/x-www-form-urlencoded; charset=UTF-8",
- success:function(data){
- var jsonobject=data.user;
- alert(jsonobject.username);
- },
- error: function(){
- alert("失败");
- }
- })
- })
- })*/
- //5.jquery传递含User对象类型的map类型
- /*$(function(){
- $("#jquerytest").click(function(){
- var params={testvalue:$('#test').val()};
- $.ajax({
- url:"show.action",
- data:params,
- type:'post',
- dataType:'json',
- success:function(data){
- var jsonobject=data.map;
- alert(data.map.s1.username);//一步一步获取值
- $.each(data.map,function(key,value){
- alert(key+": "+value.username);
- })
- },
- error: function(){
- alert("失败");
- }
- })
- })
- })*/
- // --></mce:script>
- </head>
- <body>
- <form>
- <input type="button" value="JQuery" id="jquerytest"><br>
- <input type="text" value="美国" name="test" id="test">
- </form>
- </body>
- </html>
4.tableopen.jsp弹出层插件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Thickbox Plus - Download by http://www.codefans.net</title>
- <mce:style type="text/css" media="all"><!--
- @import "css/global.css";
- --></mce:style><style type="text/css" media="all" mce_bogus="1">@import "css/global.css";</style>
- <mce:script src="/S2SHJQuery/js/jquery.js" mce_src="S2SHJQuery/js/jquery.js" type="text/javascript"></mce:script>
- <mce:script src="/S2SHJQuery/lib/thickbox_plus.js" mce_src="S2SHJQuery/lib/thickbox_plus.js" type="text/javascript"></mce:script>
- </head>
- <body>
- <div id="contentPad">
- <h1>Thickbox Plus</h1>
- <div>
- <a href="images/image1.jpg" mce_href="images/image1.jpg" title="Sample caption" class="thickbox"><img src="images/image1_t.jpg" mce_src="images/image1_t.jpg" alt="Image 1" /></a>
- <a href="images/image2.jpg" mce_href="images/image2.jpg" title="Another sample caption" class="thickbox"><img src="images/image2_t.jpg" mce_src="images/image2_t.jpg" alt="Image 2"/></a>
- </div>
- </div>
- </body>
- </html>
5.tablesorter.jsp排序层插件:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme() + "://"
- + request.getServerName() + ":" + request.getServerPort()
- + path + "/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>列表排序</title>
- <link rel="stylesheet" type="text/css" media="screen"
- href="css/screen.css" />
- <mce:script src="/S2SHJQuery/js/jquery.js" mce_src="S2SHJQuery/js/jquery.js"
- type="text/javascript"></mce:script>
- <mce:script
- src="/S2SHJQuery/lib/jquery.tablesorter.js"
- type="text/javascript"></mce:script>
- <mce:script type="text/javascript"><!--
- $(document).ready(function() {
- $("#userList").tablesorter({sortList: [ [2,1]]} );//也可通过传递参数来实现
- });
- // --></mce:script>
- </head>
- <body>
- This is my JSP page.
- <br>
- <table id="userList">
- <thead>
- <tr>
- <th>Name</th>
- <th>Sex</th>
- <th>old</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>李四</td>
- <td>男</td>
- <td>14</td>
- </tr>
- <tr>
- <td>张三</td>
- <td>男</td>
- <td>50</td>
- </tr>
- <tr>
- <td>赵五</td>
- <td>Sex</td>
- <td>60</td>
- </tr>
- <tr>
- <td>丽丽</td>
- <td>女</td>
- <td>18</td>
- </tr>
- <tr>
- <td>蝈蝈</td>
- <td>女</td>
- <td>24</td>
- </tr>
- </tbody>
- </table>
- </body>
- </html>
6.tablesortpager.jsp排序兼分页插件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <mce:script language="javascript" type="text/javascript" src="/S2SHJQuery/lib/jquery-1.2.6.pack.js" mce_src="S2SHJQuery/lib/jquery-1.2.6.pack.js"></mce:script>
- <mce:script language="javascript" type="text/javascript" src="/S2SHJQuery/lib/jquery.tablesorter.js" mce_src="S2SHJQuery/lib/jquery.tablesorter.js"></mce:script>
- <mce:script language="javascript" type="text/javascript" src="/S2SHJQuery/lib/jquery.tablesorter.pager.js" mce_src="S2SHJQuery/lib/jquery.tablesorter.pager.js"></mce:script>
- <mce:script language="javascript"><!--
- $(document).ready(function(){
- $("#userList").tablesorter({sortList: [ [2,1]]}).tablesorterPager({container: $("#pager")});
- });
- // --></mce:script>
- <title>jquery.tablesorter实现table排序(含分页)</title>
- </head>
- <body>
- <table width="50%" border="1" align="center" cellpadding="0" cellspacing="0" id="userList">
- <thead>
- <tr class="main-font2">
- <th>Name</th>
- <th>Sex</th>
- <th>old</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>李四</td>
- <td>男</td>
- <td>14</td>
- </tr>
- <tr>
- <td>张三</td>
- <td>男</td>
- <td>50</td>
- </tr>
- <tr>
- <td>赵五</td>
- <td>Sex</td>
- <td>60</td>
- </tr>
- <tr>
- <td>丽丽</td>
- <td>女</td>
- <td>18</td>
- </tr>
- <tr>
- <td>蝈蝈</td>
- <td>女</td>
- <td>24</td>
- </tr>
- <tr>
- <td>飞行1</td>
- <td>女</td>
- <td>24</td>
- </tr>
- <tr>
- <td>飞行2</td>
- <td>女</td>
- <td>24</td>
- </tr>
- <tr>
- <td>飞行3</td>
- <td>女</td>
- <td>24</td>
- </tr>
- <tr>
- <td>飞行4</td>
- <td>女</td>
- <td>24</td>
- </tr>
- <tr>
- <td>飞行5</td>
- <td>女</td>
- <td>24</td>
- </tr>
- <tr>
- <td>飞行6</td>
- <td>女</td>
- <td>24</td>
- </tr>
- <tr>
- <td>飞行7</td>
- <td>女</td>
- <td>24</td>
- </tr>
- </tbody>
- </table>
- <div id="pager" class="pager">
- <form align="center">
- 每页记录数:
- <select class="pagesize">
- <option selected="selected" value="10">10</option>
- <option value="15">15</option>
- <option value="20">20</option>
- </select>
- <input type="hidden" class="pagedisplay"/>
- <a href="#" mce_href="#" class="first" title="首页">首页</a> |
- <a href="#" mce_href="#" class="prev" title="上一页">上一页</a> |
- <a href="#" mce_href="#" class="next" title="下一页">下一页</a> |
- <a href="#" mce_href="#" class="last" title="尾页">尾页</a> |
- 共<span class="totalpage"></span>页 |
- 第<span class="curpage"></span>页 |
- 到第 <input name="pageNo" type="text" class="pageNo txt" size="3" value=""/> 页 <a href="#" mce_href="#" class="pageGo">GO</a>
- </form>
- </div>
- </body>
- </html>
7.tablesuggest.jsp提示插件:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme() + "://"
- + request.getServerName() + ":" + request.getServerPort()
- + path + "/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>搜索框提示</title>
- <link rel="stylesheet" type="text/css" media="jquery.autocomplete.css"
- href="css/jquery.autocomplete.css" />
- <mce:script src="/S2SHJQuery/js/jquery.js" mce_src="S2SHJQuery/js/jquery.js"
- type="text/javascript"></mce:script>
- <mce:script
- src="/S2SHJQuery/lib/jquery.autocomplete.js"
- type="text/javascript"></mce:script>
- <mce:script type="text/javascript"><!--
- var arr = ["Allen","Albert","Alberto","Alladin"];
- $(document).ready(function() {
- //$("#userList").autocomplete(arr);
- $("#userList").autocomplete("show.action", { selectFirst:true,extraParams: {testvalue:function(){return $('#userList').val();}},
- width: 170,minChars:1, selectOnly: 1,inputSeparator:':'});
- });
- // --></mce:script>
- </head>
- <body>
- This is my JSP page.
- <br>
- <table >
- <tbody>
- <tr>
- <td>提示框测试:<input type="text" name="userList" id="userList"/></td>
- </tr>
- </tbody>
- </table>
- </body>
- </html>
8.table-validation.jsp验证插件:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <link rel="stylesheet" type="text/css" media="screen" href="css/screen.css" mce_href="css/screen.css" />
- <mce:script src="/S2SHJQuery/js/jquery.js" mce_src="S2SHJQuery/js/jquery.js" type="text/javascript"></mce:script>
- <mce:script src="/S2SHJQuery/lib/jquery.validate.js" mce_src="S2SHJQuery/lib/jquery.validate.js" type="text/javascript"></mce:script>
- <mce:script src="/S2SHJQuery/lib/jquery.validate.messages_cn.js" mce_src="S2SHJQuery/lib/jquery.validate.messages_cn.js" type="text/javascript"></mce:script>
- <mce:style type="text/css"><!--
- * { font-family: Verdana; font-size: 96%; }
- label { width: 10em; float: left; }
- label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }
- p { clear: both; }
- .submit { margin-left: 12em; }
- em { font-weight: bold; padding-right: 1em; vertical-align: top; }
- --></mce:style><style type="text/css" mce_bogus="1">* { font-family: Verdana; font-size: 96%; }
- label { width: 10em; float: left; }
- label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }
- p { clear: both; }
- .submit { margin-left: 12em; }
- em { font-weight: bold; padding-right: 1em; vertical-align: top; }</style>
- <mce:script type="text/javascript"><!--
- $(document).ready(function(){
- //引入验证的js.jquery.validate.js,并引入中文js jquery.validate.messages_cn.js
- //可在js里面进行修改,注意css格式
- //获取form值后,即可根据id值来进行validation操作
- //取相应的验证规则:对应的输入值即可
- //可参照锋利的JQuery P218页
- //同时可利用这一特性生成验证码
- $("#commentForm").validate({
- rules: {
- username: {
- required: true,
- minlength: 3
- },
- email: {
- required: true,
- email: true
- },
- url:"url",
- comment: "required"
- }
- });
- });
- // --></mce:script>
- </head>
- <body>
- <form class="cmxform" id="commentForm" method="get" action="">
- <fieldset>
- <legend>jquery-validation 插件jsp</legend>
- <p>
- <label for="cusername">用户名:</label>
- <em>*</em><input id="cusername" name="username" size="25" />
- </p>
- <p>
- <label for="cemail">邮件:</label>
- <em>*</em><input id="cemail" name="email" size="25" />
- </p>
- <p>
- <label for="curl">URL:</label>
- <em> </em><input id="curl" name="url" size="25" value="" />
- </p>
- <p>
- <label for="ccomment">评论:</label>
- <em>*</em><textarea id="ccomment" name="comment" cols="22">
发表评论
-
新浪微博 一键关注
2012-07-25 10:29 1087新浪微博快捷关注: iframe方式: <if ... -
Jquery插件--easyUI属性汇总
2012-06-21 15:22 1397http://www.jeasyui.com/ ht ... -
jQuery常用函数记录(转载)
2012-06-05 14:53 766http://blog.csdn.net/cjm0927/ar ... -
ajax js跨域后乱码原因及解决办法
2012-02-27 11:11 5174项目中用到jQuery的ajax从二级域名下的页面访问web应 ... -
常用js代码大全4
2012-02-06 12:16 738JS代码判断集锦(之一) ... -
常用js代码大全3
2012-02-06 11:28 786三,高级应用(二) //组件是否安装 isCompon ... -
常用js代码大全2
2012-02-06 11:26 893常用js代码大全2 二, ... -
常用js代码大全1
2012-02-06 11:24 738常用js代码大全1 一,基础应用 事件源对象 event ... -
HTTP STATUS 状态码
2012-02-02 11:10 868HTTP状态码[笔记] HTTP状态码(HTTP S ... -
常用Javascript验证方法
2011-12-27 09:20 761/** * 检测复选框和单选框是否已被选中 * * ... -
Struts2中OGNL极其用法
2011-12-20 21:32 1077Struts2中的表达式语言 ... -
JDBC连接数据库的各种配置
2011-12-20 12:45 9371 将数据库的JDBC驱动加载到classpath中,在基于J ... -
Ajax跨域请求的解决办法
2011-11-08 13:16 1516由于项目需要,对项目 ... -
Freemarker 常用内置函数和用法
2011-10-17 11:00 837... -
IE与FireFox的js和css
2011-10-12 13:28 751禁止选取网页内容在IE ... -
Cookie中保存中文乱码 解决办法
2011-09-28 09:43 3007以前用cookie只是存一些 ... -
Cookie机制
2011-09-28 09:42 1291Cookie过期时间设置:int ...
相关推荐
- **Struts2的JSON插件**:虽然题目要求不使用JSON,但通常情况下,Struts2通过JSON插件返回数据给jQuery是最方便的方式。不过,我们可以通过设置Content-Type为"text/plain"或"text/html",让Struts2返回非JSON...
Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON
### Struts2 + jQuery + JSON 实现Ajax 在现代Web开发中,Ajax技术因其能够实现网页的局部刷新而被广泛采用。本篇文章介绍如何利用Struts2框架结合jQuery与JSON来构建一个简单的Ajax功能。 #### 一、环境搭建 1. ...
总结起来,"struts2+jquery+json+ajax"的例子展示了如何利用这些技术协同工作,实现一个无刷新的登录界面,提供流畅的用户体验。通过Struts2处理业务逻辑和数据验证,jQuery和Ajax负责前后端的通信,JSON作为数据...
Struts2、Spring、Hibernate、jQuery 和 JSON 是五个在IT行业中极为重要的技术组件,它们各自在Web应用开发中扮演着不同的角色。这篇文章将详细介绍这些技术的整合使用以及它们的功能。 首先,Struts2 是一个基于 ...
当用户界面触发某个事件(比如点击按钮),jQuery会发起Ajax请求,Struts2 Action执行相关逻辑并生成JSON响应,最后jQuery将数据插入到网页中,完成一次完整的交互。 总结来说,这个例子展示了如何利用Struts2处理...
8. "Struts2+JQuery+Json及JQuery相关插件的例子(好).files" 可能是一个包含其他资源的目录,如图片、CSS样式表或JavaScript文件。 通过这个例子,你可以学习到如何在实际项目中结合使用Struts2、JQuery和JSON,...
在这个"struts2+jquery+json"的小例子中,我们可能会看到以下几个关键知识点: 1. **Struts2框架**: - **Action和Result**:Struts2的核心组件,Action负责业务逻辑处理,Result负责控制页面跳转。 - **...
Struts2、jQuery和JSON是Web开发中的三个关键技术,它们在构建动态、交互式的Web应用程序时发挥着重要作用。下面将分别对这三个技术进行详细解释,并探讨它们如何协同工作。 Struts2是一个基于MVC(Model-View-...
在Struts2中集成JSON支持,首先需要添加相应的依赖,比如struts2-json-plugin,这个插件提供了JSON结果类型。当Action执行完毕后,可以返回一个JSON结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给...
在项目中引入Struts2、JSON插件和JQuery的相关依赖库。 2. **创建Struts2 Action**:创建一个Action类,例如`ValidationAction`,其中包含需要验证的属性以及相应的getter和setter方法。在execute方法中,对这些...
struts2+jQuery+json实现AJAX.zip
这里的`MyAction`类会处理请求并设置模型数据,然后Struts2的JSON插件会将这些数据转化为JSON格式并返回给前端。在`success.jsp`页面,我们可以用jQuery解析并展示这些数据。 此外,Struts2还提供了一个名为`struts...
结合struts2.3.4+jQuery+mysql+json开发的一个小例子。
json+jquery+struts2+hibernate+spring 实现的小型bbs系统,这个提供包 ,很不错的下载后,好好徐希一下吧
在"Struts2+JQuery+Json实例"中,我们探讨的是如何结合这三个技术来创建动态、响应式的Web应用。以下是这个实例中的关键知识点: 1. **获取JS值**:在JQuery中,我们可以使用`val()`函数来获取表单元素的值,如...
"struts2 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts2-json-plugin等依赖,这些是开发Struts2应用必不可少的组件。 "Struts2"可能是项目实例代码,包括Action类、视图...
Struts2、jQuery和JSON是Web开发中的三个关键组件,它们共同构成了高效、动态和交互式的用户界面。这里我们将深入探讨这三个技术,并结合实例来理解它们如何协同工作。 首先,Struts2是一个基于MVC(Model-View-...
在项目中,`Struts2JQueryJson`文件夹可能包含了HTML页面、JavaScript脚本、Struts2相关的Action类、以及可能的 strut2 配置文件等资源。 总结来说,这个实例通过结合Struts2的后端控制、jQuery的前端交互和JSON的...