1.Ajax 技术在现有开发中使用非常多,大多是做管理类型系统。在servlet中可以使用ajax。在struts2中共还可以使用servlet的方式来实现ajax。

2.案例:用户名检查

public String checkName() throws IOException{
HttpServletResponse resp = ServletActionContext.getResponse();
if("siggy".equals(name)){
resp.getWriter().print("true");
}else{
resp.getWriter().print("false");
}
//return Action.NONE;
return null;
}

3.使用struts2提供的插件来完成 ajax步骤

  a) 导入相关 jar 包

asm-3.3.jar

asm-commons-3.3.jar

asm-tree-3.3.jar

commons-beanutils-1.8.0.jar

commons-collections-3.1.jar

commons-fileupload-1.2.2.jar

commons-io-2.0.1.jar

commons-lang-2.4.jar

commons-lang3-3.1.jar

commons-logging-1.1.1.jar

ezmorph-1.0.6.jar

freemarker-2.3.19.jar

jackson-core-asl-1.9.2.jar

jackson-mapper-asl-1.9.2.jar

javassist-3.11.0.GA.jar

json-lib-2.3-jdk15.jar

jstl-1.2.jar

log4j-1.2.17.jar

ognl-3.0.5.jar

struts2-core-2.3.4.jar

struts2-json-plugin-2.3.4.jar

xwork-core-2.3.4.jar

  b) 编写Action

public class UserAction {
private String name;
private String result;
public String checkName() throws IOException{
HttpServletResponse resp = ServletActionContext.getResponse();
if("siggy".equals(name)){
resp.getWriter().print("true");
}else{
resp.getWriter().print("false");
}
//return Action.NONE;
return null;
}
public String list(){
System.out.println("list----------");
List<User> list = new ArrayList<User>();
list.add(new User("张三","男",33));
list.add(new User("李四","男",23));
list.add(new User("王五","男",13));
try {
result=JSONArray.fromObject(list).toString();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(result);
return Action.SUCCESS;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
} }

  c) 编写配置文件

<package name="default" extends="json-default" namespace="/">
<action name="checkName" class="cn.sxt.action.UserAction" method="checkName">
</action>
<action name="list" class="cn.sxt.action.UserAction" method="list">
<result type="json">
<param name="root">result</param>
</result>
</action>
</package>

4.另一种获取 json 的方式:

public class ListAction {
private List<User> list; public String list(){
list = new ArrayList<User>();
list.add(new User("张三","男",33));
list.add(new User("李四","男",23));
list.add(new User("王五","男",13));
return Action.SUCCESS;
}
public List<User> getList() {
return list;
} public void setList(List<User> list) {
this.list = list;
} }

Struts.xml

<action name="listJson" class="cn.sxt.action.ListAction" method="list">
<result type="json">
<param name="root">list</param>
</result>
</action>

Jsp

<script type="text/javascript">
$(function(){
$("#btn").click(function(){
$.post("listJson.action",function(data){
var html="";
for(var i=0;i<data.length;i++){
html+="<tr><td>"+data[i].name+
"</td><td>"+data[i].sex+
"</td><td>"+data[i].age+"</td></tr>";
}
$("#content").html(html);
}); });
});
</script>
</head>
<body>
<button id="btn">获取数据</button>
<table width="80%" align="center">
<tr>
<td>姓名</td>
<td>性别</td>
<td>年龄</td>
</tr>
<tbody id="content">
</tbody>
</table>
</body>

java之struts2之ajax的更多相关文章

  1. Struts2之ajax初析

    Web2.0的随波逐流,Ajax那是大放异彩,Struts2框架自己整合了对Ajax的原生支持(struts 2.1.7+,之前的版本可以通过插件实现),框架的整合只是使得JSON的创建变得异常简单, ...

  2. Struts2与ajax整合之缺点

    之前有篇博客介绍了Struts2与ajax的整合,链接Struts2之-集成Json插件实现Ajax 这里不再累述,看以上博客. 此篇博客想吐槽一下Struts2的缺点--错误处理做的不好,怎么做的不 ...

  3. Struts2结合Ajax实现登录

    前言:Struts2作为一款优秀的MVC框架,和Ajax结合在一起,用户就会有良好的体验,本篇博文我们来模拟一个简单的登录操作,实现Ajax的异步请求,其中Struts2进行的是链接处理,Action ...

  4. Struts2与Ajax数据交互

    写在前面: ajax请求在项目中常常使用,今天就平时掌握的总结一下,关于使用ajax请求到Struts2中的action时,前台页面与后台action之间的数据传递交互问题. 这里我主要记录下自己所掌 ...

  5. Struts2对AJAX的支持

    一.简介        struts2确实一个非常棒的MVC框架.这里部分记述一下struts2对AJAX的支持.实现AJAX有两种方式,一种是使用原生的javascript代码实现,一种是使用第三方 ...

  6. Struts2与Ajax的整合

    整合: 导入jar包 sturts2-json-plugin-2.1.8.1.jar 说明: 在该jar包中有struts-plugin.xml文件 <struts>            ...

  7. 面向 Java 开发人员的 Ajax: 构建动态的 Java 应用程序

    面向 Java 开发人员的 Ajax: 构建动态的 Java 应用程序 Ajax 为更好的 Web 应用程序铺平了道路 在 Web 应用程序开发中,页面重载循环是最大的一个使用障碍,对于 Java™ ...

  8. java调用phantomjs采集ajax加载生成的网页

    java调用phantomjs采集ajax加载生成的网页 日前有采集需求,当我把所有的对应页面的链接都拿到手,准备开始根据链接去采集(写爬虫爬取)对应的终端页的时候,发觉用程序获取到的数据根本没有对应 ...

  9. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...

随机推荐

  1. .getCellType()的几种类型值

    CellType 类型 值   CELL_TYPE_NUMERIC 数值型 0 CELL_TYPE_STRING 字符串型 1  CELL_TYPE_FORMULA 公式型       2   CEL ...

  2. MyBatis中的配置错误creating bean with name 'sqlSessionFactory'

    错误信息如下: 警告: Exception encountered during context initialization - cancelling refresh attempt: org.sp ...

  3. ArgumentException: The Assembly Mono.WebBrowser is referenced by System.Windows.Forms ('Assets/Plugins/System.Windows.Forms.dll'). But the dll is not allowed to be included or could not be found.

    最近有个项目要用到System.Windows.Forms.dll,在Unity编辑器里用着还好好的,但是一导出就给我报错,让我十分不爽. 于是请教百度,搜出了五花八门的答案,没一个能解决我的问题的, ...

  4. Servlet使用反射机制

    传统servlet存在的问题 每一个不同的请求都要写Servlet,导致整个项目servlet过多,不易维护 解决方案 同一个模块只写一个Servlet,然后每一个请求传一个参数,后台根据参数取调用不 ...

  5. mysql索引原理及优化(四)

    聚簇索引和非聚簇索引 分析了MySQL的索引结构的实现原理,然后我们来看看具体的存储引擎怎么实现索引结构的,MySQL中最常见的两种存储引擎分别是MyISAM和InnoDB,分别实现了非聚簇索引和聚簇 ...

  6. git : error occurred during unpacking on the remote end: unpack-objects abnormal exit

    error occurred during unpacking on the remote end: unpack-objects abnormal exit git服务器磁盘满了.

  7. [转]Vue-Devtools安装配置教程(献给伸手党)

    原文地址:https://blog.csdn.net/weixin_38654336/article/details/80790698 可以先看视频教程:链接 最简便的方法是用FQ来通过google应 ...

  8. django -xadmin 详解 功能实现及orm 的复习

    django 在xadmin中自定义内容的变量及优化汇总 一: 首先下载xadmin pip install git+git://github.com/sshwsfc/xadmin.git@djang ...

  9. SpringBoot @Autowired中注入静态方法或者静态变量

    注:用static去定义一个注入的方法或者配置文件值变量,编译时不会有任何异常,运行时会报空指针. Spring官方不推荐此种方法. 原理: https://www.cnblogs.com/chenf ...

  10. WebGL学习笔记(三):绘制一个三角形

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...