您的位置:首页 > Web前端 > JavaScript

ExtJS4学习笔记三--远程访问数据源示例

2013-04-28 14:24 477 查看
前端页面:

Html代码



<HTML>

<HEAD>

<TITLE>远程数据源的组合框示例</TITLE>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<link rel="stylesheet" type="text/css" href="extjs4/resources/css/ext-all.css" />

<script type="text/javascript" src="extjs4/bootstrap.js"></script>

<script type="text/javascript" src="extjs4/ext-lang-zh_CN.js"></script>

<script type="text/javascript">

Ext.onReady(function(){

//创建数据模型

Ext.regModel('BookInfo', {

fields: [{name: 'bookName'}]

});

//定义组合框中显示的数据源

var bookStore = Ext.create('Ext.data.Store',{

model : 'BookInfo',

proxy: {

type: 'ajax',//Ext.data.AjaxProxy

url : 'bookSearchServer.jsp',

reader: new Ext.data.ArrayReader({model : 'BookInfo'})

}

});

//创建表单

Ext.create('Ext.form.Panel',{

title:'Ext.form.field.ComboBox远程数据源示例',

frame : true,

height:100,

width:270,

renderTo: Ext.getBody(),

bodyPadding: 5,

defaults:{//统一设置表单字段默认属性

labelSeparator :':',//分隔符

labelWidth : 70,//标签宽度

width : 200,//字段宽度

labelAlign : 'left'//标签对齐方式

},

items:[{

xtype : 'combo',

fieldLabel:'书籍列表',

listConfig : {

loadingText : '正在加载书籍信息',//加载数据时显示的提示信息

emptyText : '未找到匹配值',//当值不在列表是的提示信息

maxHeight : 100//设置下拉列表的最大高度为60像素

},

allQuery:'allbook',//查询全部信息的查询字符串

minChars : 3,//下拉列表框自动选择前用户需要输入的最小字符数量

queryDelay : 300,//查询延迟时间

queryParam : 'searchbook',//查询的名字

triggerAction: 'all',//单击触发按钮显示全部数据

store : bookStore,//设置数据源

displayField:'bookName',//定义要显示的字段

valueField:'bookName',//定义值字段

queryMode: 'remote'//远程模式

}]

});

});

</script>

</HEAD>

<BODY STYLE="margin: 10px">

</BODY>

</HTML>

JSP代码:

Jsp代码



<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

<%

String bookName = request.getParameter("searchbook");

String jav = "['java编程思想'],['java入门'],['javascript程序设计']";

String cpp = "['c++编程思想'],['c++入门'],['c++程序设计']";

String php = "['php程序设计'],['php入门'],['php从入门到精通']";

String books = "";

if(bookName.equals("allbook")){

books = "["+jav+","+cpp+","+php+"]";

response.getWriter().write(books);

return;

}else{

bookName = bookName.substring(0,3);//取查询字符串的前3个字符

System.out.println(bookName);

if(bookName.equals("jav")){

books = "["+jav+"]";

}else if(bookName.equals("c++")){

books = "["+cpp+"]";

}else if(bookName.equals("php")){

books = "["+php+"]";

}else{

books = "[['没有数据']]";

}

response.getWriter().write(books);

}

%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: