1.Ajax:

  先导入jar包:

  struts.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="ajaxDemo" extends="json-default">
<action name="user-*" class="cn.zzsxt.action.UserinfoAction" method="{1}">
<result name="success" type="json">
<param name="root">list</param>
</result>
</action>
</package>
</struts>

  UserinfoAction:

package cn.zzsxt.action;

import java.io.PrintWriter;
import java.util.List; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletResponseAware; import com.opensymphony.xwork2.ActionSupport; import cn.zzsxt.entity.Userinfo;
import cn.zzsxt.service.UserinfoService;
import cn.zzsxt.service.impl.UserinfoServiceImpl; public class UserinfoAction extends ActionSupport implements ServletResponseAware{
private UserinfoService userinfoService = new UserinfoServiceImpl();
private String userName;
private HttpServletResponse response;
private List<Userinfo> list; public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public List<Userinfo> getList() {
return list;
} public void setList(List<Userinfo> list) {
this.list = list;
} /**
* 检查用户名是否存在
* @return
* @throws Exception
*/
public String check() throws Exception {
boolean isExist = userinfoService.checkUserName(userName);
PrintWriter out = response.getWriter();
if(isExist){
out.print("1");
}else{
out.print("0");
}
return this.NONE;
} /**
* 加载用户列表
* @return
* @throws Exception
*/ public String list() throws Exception {
list = userinfoService.findAll();
return "success";
}
@Override
public void setServletResponse(HttpServletResponse arg0) {
this.response=arg0;
}
}

  register.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>
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("#userName").blur(function(){
//获取文本框的值
var userName = $(this).val();
$.post("user-check.action?userName="+userName,function(data){ if(data==true){
$("#msg").html("<font color=red>很遗憾,用户名已经存在!</font>");
}else{
$("#msg").html("<font color=green>恭喜你,用户名可用!</font>");
}
});
});
});
</script>
</head> <body>
<form action="" method="post">
用户名:<input type="text" name="userName" id="userName"><span id="msg"></span>
</form>
</body>
</html>

  index.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>My JSP 'index.jsp' starting page</title>
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(function(){
//点击加载用户信息按钮时触发
$("#loadBtn").click(function(){
$.get("user-list.action",function(data){
//alert(data);
var content="";
for(var i=0;i<data.length;i++){
//alert(data[i].userId+"---"+data[i].userName+"---"+data[i].userPass);
content+="<tr><td>"+data[i].userId+"</td><td>"+data[i].userName+"</td><td>"+data[i].userPass+"</td></tr>";
}
//alert(content);
$("#userTbl tbody").html(content);
});
});
});
</script>
</head> <body>
<input type="button" id="loadBtn" value="加载用户信息">
<table class="he" id="userTbl" align="center" border="1" width="500">
<thead>
<tr>
<th>用户编号</th>
<th>用户名称</th>
<th>用户密码</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
</html>

  

java:struts框架4(Ajax)的更多相关文章

  1. Java - Struts框架教程 Hibernate框架教程 Spring框架入门教程(新版) sping mvc spring boot spring cloud Mybatis

    https://www.zhihu.com/question/21142149 http://how2j.cn/k/hibernate/hibernate-tutorial/31.html?tid=6 ...

  2. javaWeb项目(SSH框架+AJAX+百度地图API+Oracle数据库+MyEclipse+Tomcat)之一 基础Struts框架搭建篇

    即将开始着手写这个项目,所以希望通过这篇博客来记录自己学习的过程 今天开学第一天,就上了软件工程实践课,自己也开始着手做这个大作业了.首先我的项目名称叫做智能班车管理系统. 项目的概况: 该软件产品是 ...

  3. java三大框架——Struts + Hibernate + Spring

    Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作) Hibernate主要是数据持久化到数据库 再用jsp的servlet做网页开发的时候有个 w ...

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

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

  5. java 简单框架的运用

    Struts Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的. Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关:  1.模 ...

  6. JAVA web 框架集合

    “框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架: 在研究好用和新框架. 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还 ...

  7. 五大 JAVA Web 框架的优缺点对比,Spring MVC 领先

    毫无疑问,Java 是当今世界上最重要的编程语言之一.js 框架给程序员提供了 一个可以构建程序的坚实基础.它包括定义的类和功能,用于硬件设备管理,与系统软件交互并处理输入,让开发人员变得更轻松.Ja ...

  8. Struts框架的核心业务

    Struts的核心业务 Struts核心业务有很多,这里主要介绍了比较简单一些的: 请求数据的处理,和数据自动封装,类型自动转换 1.Struts中数据处理 1.1.方式1:直接过去servletap ...

  9. Java三大框架 介绍

    三大框架:Struts+hibernate+spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...

  10. Struts框架

    Struts是最早的Java开源框架之一,它是MVC设计模式的一个优秀实现. Struts定义了通用的Controller(控制器),通过配置文件(通常是 Struts -config.xml) Ec ...

随机推荐

  1. 关于maven的repositories

    在maven repositories视图中,有local repositories和global repositories两种. local repositories是本地的库,默认目录在C:\Us ...

  2. P1081 [NOIP2012]开车旅行[倍增]

    P1081 开车旅行    题面较为啰嗦.大概概括:一个数列,只能从一个点向后走,两种方案:A.走到和自己差的绝对值次小的点B.走到和自己差的绝对值最小点:花费为此差绝对值:若干询问从规定点向后最多花 ...

  3. orm查询优化 MTV和MVC模型 字段的chioces参数 Ajax

    目录 一.ORM查询优化 1. all()查询 2. only()/defer()方法 (1)only()方法 (2)defer()方法 3. select_related()/prefetch_re ...

  4. 前端js之BOM和DOM操作

    目录 引入 BOM操作 window对象 history对象 location对象(重点) 弹出框 定时器 计时器相关 DOM 查找标签 直接查找 间接查找 节点操作 创建节点及添加节点 删除节点 替 ...

  5. qt5--QEvent事件

    QEvent事件是负责事件分发,包括所有事件返回值为true,用户自己处理事件,不向下分发:false系统处理事件---必须有返回值 查看所有事件,在Qt助手中搜索QEvent::Type #incl ...

  6. javascript中继承方式及优缺点(一)

    分别介绍原型链继承.call/apply继承(借用构造函数继承).组合继承.原型式继承.寄生式继承.寄生组合式继承 1. 原型链继承 核心:将父类的实例作为子类的原型 function SuperTy ...

  7. UVA 12063 Zeros and ones 一道需要好好体会的好题

    #include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<cmath> ...

  8. Color a Tree

    题目链接:Click here Solution: 看起来不太能dp,则考虑树上贪心 题目要求一个点必须先染父亲才能染自己,就给了我们启示,贪心的合并点 我们定义一个点的权重为这个点的价值和/点数,然 ...

  9. [HG]腿部挂件 题解

    前言 暴力跑的比正解快. 以下暴力(循环展开+fread读入输出优化) #include<cstdio> #pragma GCC optimize(3, "Ofast" ...

  10. 1143, 3997: Dilworth定理的简单应用

    偏序集上的最小链覆盖等于最长反链 于是两道题 1143: [CTSC2008]祭祀river 求偏序集上的最长反链 转换成偏序集上的最小链覆盖 求个闭包,转换成最小路径覆盖,二分图匹配一发 #incl ...