`
ll_feng
  • 浏览: 389439 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

extjs 我的第二个ext程序:表单

    博客分类:
  • ajax
阅读更多
思路
做一个简单的表单程序,用户登录。
目标,成功提交用户的信息,
struts2部分采用json插件。采用struts2.18的版本就可以不用额外下载json插件了.strus2.18自带了
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!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.enable.DynamicMethodInvocation" value="true" />
    <constant name="struts.devMode" value="false" />
    <constant name="struts.convention.result.path" value="/contents/"/>
    <constant name="struts.custom.i18n.resources" value="messageResource" />

        <!-- 
    <package name="default" namespace="/" extends="convention-default">
        <default-action-ref name="index" />
        <action name="index">
            <result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>
        </action>
        
    </package> -->

    <!-- Add packages here -->
    <package name="json" namespace="/" extends="json-default">
		<action name="login" class="cn.ibeans.demo.web.action.LoginAction">
			<result type="json"/>
		</action>
		<!-- 
		<action name="message_*"
			class="cn.ibeans.web.action.MessageAction"
			method="{1}"> 
		</action>-->
	</package>
</struts>



login.html:
<html>
  <head>
    <title>Login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="scripts/ext/resources/css/ext-all.css" />
<script type="text/javascript" src="scripts/ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="scripts/ext/ext-all.js"></script>
<script type="text/javascript" src="contents/js/login.js"></script>
  </head>
  
<body>
<div id="loginpanel"></div>
</body>
</html>


login.js:
var login = function(){
	Ext.QuickTips.init();
	Ext.lib.Ajax.defaultPostHeader += ";charset=utf-8";
	Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
	// 实现具体的功能
	var form = new Ext.form.FormPanel({
		//title:'请登录',
		defaultType:'textfield',
		region:'center',
		labelAlign:'right',
		url:'login!login.action',
		items:[{
			fieldLabel:'用户',
			name:'username'
		},{
			inputType:'password',
			fieldLabel:'密码',
			name:'password'
		}],
		buttons:[{
			text : '登陆',
			handler : function() {
				form.getForm().submit( {
					//url : 'login!login.action',
					waitMsg : '正在提交,请稍等...',
					success : function(form, action){
						Ext.MessageBox.alert("info",action.result.username);
						// window.location.href = a.result.url;
					}
				});
			}
		}, {
			text : '取消',
			handler : function() {
				form.getForm().reset();
			}
		}]
	});

	var panel = new Ext.Panel( {
		renderTo : 'loginpanel',
		layout : "border",
		width : 525,
		height : 290,
		defaults : {
			border : false
		},
		items : [ {
			region : "north",
			height : 56,
			html : 'north..................................'
		}, {
			region : "south",
			height : 56,
			html : 'south..................................'
		}, {
			region : "west",
			width : 253,
			html : 'west'
		},form]
	});

	Ext.get('loginpanel').setStyle('position', 'absolute').center(Ext.getBody());

};

Ext.onReady(login);


这里开始有一点没弄通,就是button提交后的success:function(form,action){...}
后台成功处理了,但这里什么了执行不了。继续学习中...
终于弄明白了:一定要在action里有一个boolean类型的名为success的属性才行。

LoginAction.java:
public class LoginAction extends ActionSupport {
	private static Logger log= Logger.getLogger(LoginAction.class);
	private String username;
	private String password;
	private boolean success;
	
	
	public String getUsername() {
		return username;
	}


	public void setUsername(String username) {
		this.username = username;
	}


	public boolean isSuccess() {
		return success;
	}


	public void setSuccess(boolean success) {
		this.success = success;
	}


	public String getPassword() {
		return password;
	}


	public void setPassword(String password) {
		this.password = password;
	}


	public String login(){
		this.setSuccess(true);
		log.info("login method is called."+username+":"+password);
		return super.SUCCESS;
	}
	
}


分享到:
评论

相关推荐

    ExtJS-3.4.0系列:Ext.TabPanel

    第二个面板还启用了`closable`选项,这意味着用户可以通过点击右上角的“X”图标来关闭这个标签页。 最后,`tabs.activate(0)`激活了第一个面板,使其成为默认显示的内容: ```javascript tabs.activate(0); ``` ...

    Ext JS高级程序设计

    这本书分为三章,涵盖了Ext JS的关键概念和技术,旨在帮助开发者充分利用这个强大的JavaScript库来构建功能丰富的Web应用程序。 第一章可能涉及了Ext JS的基础和核心概念,包括MVC(Model-View-Controller)架构的...

    ExtJS Web应用程序开发指南(第2版)

    《ExtJS Web应用程序开发指南(第2版)》共18章和1个附录,是对第1版的全面升级,增补了大量ExtJS 4.0中的新特性。从基本的ExtJS功能开始讲解RIA Web开发,从而引出用户体验丰富的ExtJS技术。接着通过经典的“Hello ...

    深入浅出extjs(第二版)随书源码

    深入浅出ExtJS(第二版)是一本关于ExtJS的详细教程,旨在帮助读者掌握这一强大的前端开发工具。 该随书源码包含三个不同版本的ExtJS源码:ext-3.0.0、ext-3.1.1和ext-3.2.0。这涵盖了ExtJS 3.x的主要迭代,每个...

    ExtJSWeb应用程序开发指南(第2版)

    第1章 认识ExtJS 1.1 ExtJS的精彩表现 1.2 ExtJS的前世今生 1.3 是否真的需要学习ExtJS 1.4 ExtJS4.0新特性 1.5 ExtJSUI组件基础 1.6 了解一下类似技术 1.7 本章小结 第2章 开始ExtJS之旅 2.1 认识ExtJS的...

    Ext2 核心 API 中文详解 ExtJS2.0实用简明教程 ExtJS2.0教程 ExtJS2.0实用简明教程(easyjf) ext中文API+ sample

    ExtJS 是一个流行的JavaScript库,专门用于构建富客户端的Web应用程序。它提供了丰富的用户界面组件和强大的数据绑定机制,使得开发者能够创建出交互性极强的网页应用。本教程主要聚焦于ExtJS 2.0版本的核心API,...

    Extjs5.0.1API

    ExtJS 5.0.1 是一个流行的JavaScript框架,用于构建富客户端Web应用程序。这个版本在Web开发领域具有广泛的应用,因为它提供了丰富的组件库、强大的数据管理机制以及优雅的MVC(模型-视图-控制器)架构。"ext-5.0.1-...

    ExtJs中表单formPanel的横向布局

    2. **第二行**:类似地,设置了两个宽度各占46%的列,分别用于“座右铭1”和“座右铭2”的输入。这里需要注意的是,由于两列的总宽度超过了100%,但因为`columnWidth`是相对比例,所以实际并不会造成布局溢出。 3. ...

    Extjs4.1.1

    课程简介: ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架,本课程是一套基于Extjs4.1.1版本进行全新讲解...第二十讲.ExtJS之组件面向对象编程(二) 项目实战Extjs版在线选课系统:

    Extjs fieldset两行两列布局

    2. **第二列**:宽度为22%(`columnWidth:.22`),同样采用表单布局,包含一个日期选择器(`datefield`)。该日期选择器没有设置字段标签,允许选择日期格式为月-日(`format:'m-d'`),并且限制最大长度为50个字符...

    深入浅出ExtJS(第二版)

    《深入浅出ExtJS(第二版)》是一本专注于JavaScript框架ExtJS的详细教程,旨在帮助读者全面理解和掌握这一强大的前端开发工具。该书的完整版包含目录,使得学习过程更为系统和有条理。 ExtJS是一个基于JavaScript的...

    extjs四种异步提交

    例如,如果已经有HTML表单,第二种方式可能最简单;如果需要创建复杂的表单并利用EXT JS的组件功能,第三种方式更合适。在处理失败情况时,通常都需要提供错误处理回调函数,以确保用户体验和数据的一致性。

    extjs文档的详细介绍

    在这里,`failure` 和 `success` 回调函数的第二个参数 `action` 包含了服务器响应的详细信息,如 `action.result.msg` 可以获取到服务器返回的消息。然而,`Ext.Ajax.request` 的一个显著缺点是不支持 `waitMsg` ...

    extJs4.0 开发手册源码

    "Extjs4.0 Web应用开发指南(第二版)-源代码"这本书的源码部分,不仅提供了EXTJS4.0的源代码,还提供了书中实例的实现,这对于学习EXTJS4.0的实际开发流程非常有帮助。通过对照书中的讲解和源码,开发者可以更深入地...

    ExtJs教程_完整版

    ### ExtJs教程_完整版 —— 第一章起步(1)关键知识点详解 #### 一、ExtJS概述 **1.1 极致的用户体验** ExtJS是一个强大的JavaScript框架,专为Web应用开发而设计。它以其优雅的API、丰富的组件集合以及出色的跨...

    extjs 前后台交互参数出现中文乱码问题的解决方法

    alert('第二次编码后的值: ' + CustomFormName1); // 创建Ajax请求对象 var conn = Ext.lib.Ajax.getConnectionObject().conn; // 发送POST请求,并将编码后的中文参数拼接到URL中 conn.open("POST", "/...

Global site tag (gtag.js) - Google Analytics