热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

ajax使用实例代码演示讲解

今天温习了ajax,主要的因为太久没用生疏了,写这篇blog的目的也是为了加深印象。首先是创建web项目T,然后修改web.xml,加入下面这一段:servletservlet-nameaction/servlet-nameservlet-classorg.apache.struts.action.ActionServ

       今天温习了ajax,主要的因为太久没用生疏了,写这篇blog的目的也是为了加深印象。

       首先是创建web项目T,然后修改web.xml,加入下面这一段:


  action
  
   org.apache.struts.action.ActionServlet
  

  
   config
   
    /WEB-INF/struts.xml
   

  

  
   debug
   2
  

  
   detail
   2
  

  
   validate
   true
  

  
   configFile
   /WEB-INF/platformconfig.xml
  

  2
 


 
  action
  *.do
 


这是为了引入struts(这里使用的struts1),然后下面这段是struts.xml:


"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">


 
      type="form.CommonForm">
  
 

 
 
  
  
 

 
      name="CommonForm" scope="request">
   
  

 

然后便是action代码:

package action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.json.JSONWriter;
import form.CommonForm;


public class ForwardAction extends DispatchAction {


 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  String param = mapping.getParameter();
  String cmd = request.getParameter(param);
  CommonForm cform = (CommonForm) form;

  if(cmd!=null){
   return dispatchMethod(mapping, cform, request, response, cmd);
  }
  return mapping.findForward("welcome");
 }


 public ActionForward welcome(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  CommonForm cform = (CommonForm) form;
  StringBuffer words = new StringBuffer();


  words.append("hello "+cform.getName());
  request.setAttribute("words", words.toString());
  return mapping.findForward("welcome");
 }

 public ActionForward doAjax(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  CommonForm cform = (CommonForm) form;
  String msg = "";
  boolean success = true;
  response.setContentType("text/plain");
  response.setCharacterEncoding("UTF-8");
  JSONWriter jsw = new JSONWriter(response.getWriter()).object().key(
    "success").value(Boolean.valueOf(success));
  if (msg != null) {
   jsw.key("msg").value(msg != null ? msg : "");
  }
  if(cform.getName().equalsIgnoreCase("rains")){
   jsw.key("address").value("地址");
  }
  jsw.endObject();
  return null;
 }

}

以及form:

package form;

import org.apache.struts.action.ActionForm;

public class CommonForm extends ActionForm{

 private static final long serialVersiOnUID= 6080705692924414987L;

 private String name;

 private int age;

 private int phone;

 private String address;

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }

 public int getPhone() {
  return phone;
 }

 public void setPhone(int phone) {
  this.phOne= phone;
 }

 public String getAddress() {
  return address;
 }

 public void setAddress(String address) {
  this.address = address;
 }

}

然后万事具备,除了前台jsp,呼呼~~~

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>


 
   
   
 
 
    
  你的名字:

  你的年龄:

  你的电话:

  你的地址:


  
    
 


部署好项目(此处测试时使用了tomcat,呵呵~)

页面效果如下:

ajax实例 - rains_xy - 我见青山多妩媚,料青山见我应如是

 我们输入名字rains,如下:

ajax实例 - rains_xy - 我见青山多妩媚,料青山见我应如是

 点击按钮,就可以看到成果了:

ajax实例 - rains_xy - 我见青山多妩媚,料青山见我应如是

 注意anction里面这一个逻辑:

 if(cform.getName().equalsIgnoreCase("rains")){
   jsw.key("address").value("地址");
  }

我们只有在这里加上自己想要的复杂逻辑(而不是测试这样简单的随意设置一个),然后在页面上var address = json.address;拿到你想要的值并且显示出来。如此则大功告成ajax实例 - rains_xy - 我见青山多妩媚,料青山见我应如是

最后附加的福利~~吼吼~~

ajax实例 - rains_xy - 我见青山多妩媚,料青山见我应如是

ps:欢迎留言


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
author-avatar
白羊黔中草
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有