`
tntxia
  • 浏览: 1510450 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java与EXT相结合

阅读更多

EXT是里面的例子是用PHP,但在我们工程中,大多数是用Java的,在这篇博客里面,我主要要讲一些用Java来开发EXT程序的例子,而且我们争取是用Java转化为JS的形式来做EXT,这样的话,我们可以更加方便的去调试,因为Java的调试要比Javascript的调试容易得多。

 

这里,我们要引用一个JSON的框架 - SimpleJSON,SimpleJSON的框架下载方式与使用方法,请参见http://tntxia.iteye.com/blog/755752。

 

首先,我们模仿Swing做一个Component的组件。

 

package com.tntxia.extjava.tag;

public interface Component {
	
	public String draw();

}
 

这个类是一个简单的接口类,只包含了一个draw方法。用来让所有的组件都继承于它。

 

接下来,我们定义更有意义的东西。一个Button组件。

 

package com.tntxia.extjava.tag;

import org.json.simple.JSONObject;

public class Button implements Component {
	private String id;
	private String text;
	private boolean pressed;
	private int width;
	private int height;
	private String renderTo;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getText() {
		return text;
	}
	public void setText(String text) {
		this.text = text;
	}
	public boolean isPressed() {
		return pressed;
	}
	public void setPressed(boolean pressed) {
		this.pressed = pressed;
	}
	public int getWidth() {
		return width;
	}
	public void setWidth(int width) {
		this.width = width;
	}
	public int getHeight() {
		return height;
	}
	public void setHeight(int height) {
		this.height = height;
	}
	public String getRenderTo() {
		return renderTo;
	}
	public void setRenderTo(String renderTo) {
		this.renderTo = renderTo;
	}
	public String draw() {
		JSONObject param = new JSONObject();
		if(text!=null)
			param.put("text", text);
		param.put("pressed", Boolean.valueOf(true));
		if(height!=0)
			param.put("height", Integer.valueOf(height));
		if(renderTo!=null)
			param.put("renderTo", renderTo);
		return "var "+id+" = new Ext.Button("+param+");";
	}
}
 

这里我们实现了Component的draw方法,让Button可以在页面上显示出来。

 

我们最终的目的,是可以在页面上看到EXT的显示结果,所以我们接下来就写一个JSP页面来实现显示。

 

 

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@page import="com.tntxia.extjava.tag.Button"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>这是用Java实现的一个EXT按钮</title>
<link rel="stylesheet" type="text/css" href="../ext/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="../ext/resources/css/xtheme-access.css" />
<script type="text/javascript" src="../ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../ext/ext-all.js"></script>
<script type="text/javascript">
function hello(){
	alert("hello");
}
Ext.onReady(function(){
<%
Button button = new Button();
button.setId("button1");
button.setText("按钮2");
button.setRenderTo("button");
out.println(button.draw());
%>
});
</script>
</head>
<body>
<div id="button"></div>
</body>
</html>

 

最终实现的效果比下:

 

 

 

 

分享到:
评论

相关推荐

    Ext一个登陆的小例子 (java+servlet)

    EXT的灵活性和Java Servlet的稳定性相结合,为开发健壮的Web应用提供了基础。对于初学者来说,理解这种前后端协作模式是非常有价值的。通过不断地练习和实践,你可以进一步掌握EXT和Java Servlet,为更复杂的Web应用...

    ext3.1 最新版

    EXT框架也通常与Java后端相结合,通过Ajax技术实现前后端的数据通信。 - **EXT JavaScript库**:EXT3.1可能包含了更多优化的JavaScript组件,如表格、树形结构、图表和对话框,这些组件都经过了性能优化,便于开发...

    Gwt-ext学习笔记

    4. **Ajax通信**:GWT的RPC机制与Gwt-ext相结合,可以方便地进行异步服务器通信,获取或提交数据。 5. **主题和皮肤**:Gwt-ext提供了多种视觉样式,可以根据需求定制应用的外观。 6. **性能优化**:了解如何利用...

    权限实现实例(Ext+java)

    这种策略与Spring Security 2框架相结合,允许开发者通过配置文件对整个系统的权限进行集中管理。Spring Security是一款强大的安全框架,它提供了一整套安全解决方案,包括认证、授权、访问控制等。 在传统的Web...

    Ext相册实现文件拖拽,实时上传进度,本地预览

    它提供了一整套可定制的组件,包括表格、窗口、面板等,能够构建出与桌面应用相媲美的用户界面。EXT4的强大在于其灵活性和丰富的API,使得开发者能够轻松地创建复杂的Web应用。 **HTML5的新特性** HTML5引入了许多...

    ext grid网格控件实例

    通过`Ext.grid.Panel`的`plugins`属性启用分页插件`Ext.grid.plugin.PagingToolbar`,并与`store`的`proxy`配置相结合,可以实现按需从服务器请求数据。`proxy`中的`type`设置为`ajax`或`rest`,并配置`api`属性来...

    搭建简单的EXT-GWT(GXT)的开发环境(四)ext-gwt(gxt)结合google map第三版开发

    总结,搭建EXT-GWT开发环境并结合Google Maps API V3,需要熟悉Java、GWT和EXT-GWT的基础知识,同时掌握Eclipse IDE的使用。集成Google Maps API涉及到API密钥的获取和在EXT-GWT中的应用。这个过程可能对初学者有些...

    SpringMVC+Hibernate+EXT

    EXTJS的Store负责数据缓存和异步加载,与Hibernate的ORM机制相结合,实现了数据的透明处理。此外,EXTJS的Model可以与后台的Java Bean进行映射,简化数据交换。 总结起来,"SpringMVC+Hibernate+EXT"的项目源码提供...

    Ext-Desktop

    【Ext-Desktop】是一个基于...总的来说,通过学习这些资源,你可以掌握ExtJS和Ext-Desktop的基本用法,了解如何构建桌面化的Web应用,并熟练地将Java后端与JavaScript前端相结合,打造高性能、用户体验优良的应用程序。

    Ext4+SpringMVC实例Demo源码

    这个实例Demo对初学者来说是一个很好的学习资源,它演示了如何将富客户端的Ext4应用与后端的SpringMVC服务相结合。通过阅读和理解源码,可以深入理解这两个技术的工作原理和集成方式,提升Java Web开发技能。同时,...

    JAVA 开发龙门物流管理系统(Ext+SSH).zip

    【标题】"JAVA 开发龙门物流管理系统(Ext+SSH)" 提供的是一个基于Java技术的物流管理系统项目,其中...通过这个项目,开发者可以深入学习如何将现代化的前端技术和成熟的后端框架相结合,打造高效稳定的物流管理系统。

    ext-2.2.zip.tar.gz

    "集成"可能意味着这里提供了将ext扩展与Oozie工作流程相结合的方法、示例或者库。 在文件名称列表中只有一个文件"ext-2.2.zip",这可能是原始的zip文件,里面可能包含源代码、文档、配置文件或其他资源。为了进一步...

    简单的小例子Ext+servlet 分页

    在IT行业中,分页是一种常见的数据展示技术,特别是在网页应用中,用于处理大量数据的显示。本示例探讨了如何结合...通过学习这个小例子,开发者可以掌握如何将前端和后端分页技术相结合,以应对大数据量的展示需求。

    Java-API文档(学Java必备API)

    5. **JSP (Java Server Pages)**:是Java服务器端的Web开发技术,它将HTML代码与Java代码相结合,允许开发者在页面上嵌入Java代码以处理动态内容。JSP最终会被转换成Servlet执行。 6. **Linux**:是一种开源的操作...

    ext json struts 完整无错源码

    总结来说,"ext json struts 完整无错源码" 是一个很好的学习资源,可以帮助开发者了解如何将现代前端技术(EXT)与后端 Java Web 开发框架(Struts)相结合,通过 JSON 进行数据交换,创建高效、动态的 Web 应用...

    ext4.1登陆界面

    `login.jsp`是JavaServer Pages(JSP)文件,这是一种动态网页技术,用于处理用户登录请求,将用户的输入与服务器端的验证逻辑相结合。`验证码.jsp`则很可能用于生成和验证图形验证码,这是防止机器人自动登录的一种...

    Ext+net开发实例(殷良胜-完整版)

    将ExtJS与.NET相结合,不仅可以充分利用.NET的强大后端处理能力和安全性,还能发挥ExtJS在前端展示方面的优势,实现前后端技术的最佳匹配。这种结合方式尤其适用于企业级应用开发,能够显著提升Web应用的用户体验和...

    Ext Gantt + jsp + servlet 工程实例(EXT 甘特图实例)

    在这个"Ext Gantt + jsp + servlet 工程实例"中,我们将探讨如何将Ext Gantt与Java后端技术,即JSP和Servlet相结合,构建一个完整的Web应用。 1. **Ext Gantt**: Ext Gantt是Ext JS组件库的一部分,提供了一套完整...

    Ext Desktop+struts2 实例

    在 "Ext Desktop + Struts2 实例" 中,开发者将 Ext JS 的桌面应用模型与 Struts2 的后端控制和数据处理能力相结合,实现了前后端分离的架构。下面我们将深入探讨这个组合的各个知识点: 1. **Ext JS 桌面应用(Ext...

    EXT+DWR的小例子

    在"EXT+DWR的小例子"中,我们可以假设这是一个展示如何将EXT的UI组件与DWR的远程调用相结合的示例项目。开发者可能创建了一个EXT的界面,其中包含了一些交互元素,如按钮、表格等,当用户在前端进行操作(如点击按钮...

Global site tag (gtag.js) - Google Analytics