ExtJS与后台Java交互
参考博客:http://blog.csdn.net/wanghuan203/article/details/8125970
开发环境:Eclipse + Tomcat + ExtJS6.0
工程目录结构
运行效果:
后台获取的数据
源代码如下:
1.web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>ExtJSDemo</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>TestServlet</servlet-name> <servlet-class>com.scd.servlet.TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/TestServlet</url-pattern> </servlet-mapping> </web-app>
2.ExtJava.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ExtJS And Java</title> <link rel="icon" href="img/tomcat.ico" type="image/x-icon" ></link> <link rel="stylesheet" type="text/css" href="neptune/theme-neptune/resources/theme-neptune-all.css"></link> <script type="text/javascript" src="neptune/ext-all.js"></script> <!--extjs本地化文件,会将extjs中的提示信息等自动转换为简体中文--> <script type ="text/javascript" src="neptune/locale/locale-zh_CN.js"></script> <script type ="text/javascript"> Ext.onReady( function() { Ext.create('Ext.container.Viewport', { scrollable : true, items : [ { xtype : 'container', layout : { type : 'hbox', align : 'center', pack : 'center' }, items : [ { xtype : 'form', bodyPadding : 20, maxWidth : 700, fieldDefaults : { msgTarget : 'under' }, flex : 1, title : 'Customer Register', items : [ { xtype : 'fieldcontainer', layout : 'hbox', fieldLabel : 'Name', defaultType : 'textfield', defaults : { allowBlank : false, flex : 1 }, items : [ { name : 'Name', emptyText : 'Name' } ] }, { xtype : 'datefield', fieldLabel : 'Date of Birth', name : 'dob', maxValue : new Date() }, { xtype : 'textfield', vtype : 'email', fieldLabel : 'Email Address', name : 'email', allowBlank : false, //emptyText : 'user@example.com' }, { xtype : 'textfield', fieldLabel : 'Phone Number', labelWidth : 100, name : 'phone', width : 200, emptyText : 'xxx-xxx-xxxx', maskRe : /[\d\-]/, regex : /^\d{3}-\d{3}-\d{4}$/ }, { xtype : 'button', href : 'http://www.baidu.com', width : 100, height : 60, text : 'Baidu' } ], //form提交数据部分,通过按钮提交事件 buttons : [ { text : 'Submit', handler : function() { var form = this.up('form').getForm(); if (form.isValid()) { form.submit( { url : './TestServlet', //重点: success块 success : function(form, action) { //showmessage是从后台传过来 Ext.MessageBox.alert("提示", action.result.showmessage); }, failure : function(form, action) { Ext.Msg.alert("提示", "失败"); } } ); } else { Ext.Msg.alert('Error', 'Fix the errors in the form'); } } } ] } ] } ] } ); } ); </script> </head> <body> </body> </html>
3.TestServlet.java
package com.scd.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; /** * */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("===doPost==========");try{ //调用action等后台方法 //有个返回值,返回给界面的内容 String showMessage = "你好"; //设置response格式 response.setCharacterEncoding("UTF-8"); response.setContentType("application/json"); response.getWriter().write( "{'success':true,'showmessage':'"+ showMessage +"'}"); } catch (Exception e) { //失败时返回的信息 response.setCharacterEncoding("UTF-8"); response.setContentType("text/html"); response.getWriter().write( "{'success':false,'showmessage':'出现异常,操作失败'}"); response.setStatus(500); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("====I am doGet======"); doPost(request,response); } }
存在一个很大的疑惑就是当把代码里面的response.setContentType("text/html"); 设置为"text/html"之后,获取到的是表但数据
package com.scd.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
*
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("===doPost==========");
System.out.println("获取前端form组件中的数据");
String Name = request.getParameter("Name");
String bob = request.getParameter("dob");
String email = request.getParameter("email");
String phone = request.getParameter("phone");
System.out.println(Name+bob+email+phone);
try{
//调用action等后台方法
//有个返回值,返回给界面的内容
String showMessage = "你好";
//设置response格式
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.getWriter().write(
"{'success':true,'showmessage':'"+ showMessage +"'}");
} catch (Exception e) {
//失败时返回的信息
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.getWriter().write(
"{'success':false,'showmessage':'出现异常,操作失败'}");
response.setStatus(500);
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("====I am doGet======");
doPost(request,response);
}
}
终端输出的数据为
-----------------------------------
===doPost==========
获取前端form组件中的数据
chengdu17年01月18日1809542645@qq.com123-345-2341
和之前传输数据不一样啊????
ExtJS与后台Java交互的更多相关文章
- jsp中的js嵌入Extjs与后台action交互
近期做前台须要和后台交互数据,直接使用js一直没实现.最后使用extjs实现了,extjs代码直接嵌入到jsp的js代码中就可以(0跟jsp里使用extjs一样,须要载入extjs的几个文件) < ...
- atitit.js 与c# java交互html5化的原理与总结.doc
atitit.js 与c# java交互html5化的原理与总结.doc 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参数个数1 1.3. 事件监听2 2. sen ...
- Ajax与后台的交互
Ajax Java 交互 jsp代码 <%@ page language="java" import="java.util.*" pageEncoding ...
- atitit.js 与c# java交互html5化的原理与总结.doc
atitit.js 与c# java交互html5化的原理与总结.doc 1. 实现html5化界面的要解决的策略 1 1.1. Js交互 1 1.2. 动态參数个数 1 1.3. 事件监听 2 2. ...
- Android通过Web与后台数据库交互
2021.1.27 更新 已更新新版本博客,更新内容与原文章相比有点多,因此新开了一篇博客,请戳这里. 1 背景 开发一个App与后台数据库交互,基于MySQL+原生JDBC+Tomcat,没有使用D ...
- Flex使用Blazeds与Java交互及自定义对象转换详解-DATAGRID读取ORACLE数据
http://www.cnblogs.com/RocD-DuPeng/articles/1751040.html 一.建立Flex与Java交互的工程. 本文中讲到的交互是利用Blazeds的,因为这 ...
- 身份证校验,前台js校验,后台java校验
js校验: var vcity={ 11:"北京",12:"天津",13:"河北",14:"山西",15:"内 ...
- 利用angular与后台的交互
记录的世界是强大的,不管天南海北还是五湖四海,如果利用angular js与后台的交互.angular js 在api上称为是http服务: 下面咱给一个简单的代码看看:简单的利用后台与前端的tab切 ...
- --@angularJS--自定义服务与后台数据交互小实例
1.myService.html: <!DOCTYPE HTML><html ng-app="app"><head> <title& ...
随机推荐
- log4j配置日志系统
1. lib里加入3个包 slf4j-api, slf4j-log4j12, log4j 2. 在src下 创建log4j.properties ### direct log messages to ...
- 第十七篇 --ANDROID DisplayManager 服务解析一
ANDROID从版本4.2开始提供了一个显示管理服务DisplayManagerService,支持多种显示类型的多个显示器的镜像显示,包括内建的显示类型(本地).HDMI显示类型以及支持WIFI D ...
- Apache Commons工具集简介(转)
此文为转帖,原帖地址:http://zhoualine.iteye.com/blog/1770014
- iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。
转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage ...
- php 设计模式系列(一)
参考文章:http://duchengjiu.iteye.com/blog/2227452 多态代码 // 多态, 在JAVA中是这样用的, 其实在PHP当中可以自然消除, 因为参数是动态的, 你传什 ...
- CodeForces 617A Elephant
C语言语法入门题 #include<cstdio> #include<cstring> #include<vector> #include<cmath> ...
- MySQL的char和varchar
一.VARCHAR与CHAR字符型数据的差异 在MySQL数据库中,用的最多的字符型数据类型就是Varchar和Char,这两种数据类型虽然都是用来存放字符型数据,但是无论从结构还是从数据的保存方式来 ...
- FZU 2099 魔法阵
手算. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> u ...
- REST API设计规范
完全面向资源,API以复数形式表示 路径(Endpoint) http://example.com/libraries //列出所有图书馆 http://example.com/books //列出所 ...
- js jqery判断checkbox是否选中,全选,取消全选,反选,选择奇数偶数项
// 一,判断选中 // js var ischecked2 = function(){ // this.checked == true $(document.getElementsByTagName ...