代码我就不多说了,不明白,看教程吧。我就贴出来好了。
其中使用的相关的文件,请见附件。
注意:其中的example.js是Ext例子中的,我改了一个小地方,显示效果有一点不样,大家可以看看
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Struts2-ExtJs整合实例</title>
<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="extjs/resources/css/ext-all.css">
<link rel="stylesheet" type="text/css" href="extjs/examples.css" />
<script type="text/javascript" src="extjs/ext-base.js"></script>
<script type="text/javascript" src="extjs/ext-all.js"></script>
<script type="text/javascript" src="extjs/ext-lang-zh_CN.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
Ext.onReady(function(){
Ext.BLANK_IMAGE_URL = "extjs/resources/images/default/s.gif";
Ext.QuickTips.init();
var _top = new Ext.Panel({
region:"north",
//title:"标题",
height:40,
border:true,
html:"LOGO",
margins:'0 0 5 0'
});
var _left = new Ext.tree.TreePanel({
region:"west",
collapsible:true,
title:"导航菜单",
width:200,
autoScroll:true,
split:true,
listeners:{
click:function(_node){
var _url = _node.attributes.url;
var _id = _node.id;//如果没有宝,则自动生成唯一的ID
var _p = _center.getItem(id);//获取节点ID对应的标签面板
if(_url){//具有URL值
if(_p){
//此面板已经存在,只需要激活就可以了。
_center.setActiveTabl(_p);
} else {
//如果不存在,则创建新的面板,并激活
_p = new Ext.Panel({
title:_node.text,
//autoLoad:{url:_url,scripts:true},
html : "<iframe src=\"" + _url + "\" style='height:100%;width:100%;' frameborder=0></iframe>",
closable:true,//标签上出现关闭按钮
autoScroll:true,
id:_id//这里一定设置
});
_center.add(_p);
_center.setActiveTab(_p);
}
}
}
}
});
//定义根节点
var _root = new Ext.tree.TreeNode({
text:"根节点",
qtip:"这是根节点"
});
var _child1 = new Ext.tree.TreeNode({
text : "部门管理",
url: "dept_list.jsp"
});
var _child2 = new Ext.tree.TreeNode({
text : "子节点2",
url: "http://localhost:8080/extjs001/"
});
var _child3 = new Ext.tree.TreeNode({
text : "用户管理",
url: "user_list.jsp"
});
_root.appendChild([_child1, _child2, _child3]);
_left.setRootNode(_root);
var _center = new Ext.TabPanel({
region:"center",
items:{
id:"opt1",
title:"默认页面",
tabTip:"这是默认页面,不可以关闭",
html:"叵? ? 吕在中间region:"
},
enableTabScroll:true
//activeItem:0
});
_center.setActiveTab("opt1");
var _bottom = new Ext.Panel({
region:"south",
title:"Information",
collapsible:true,
html:"版权所有,翻版必究",
split:true,
height:100,
bodyStyle : "padding: 10px; font-size: 12px; text-align:center;"
});
var _bottom2 = new Ext.Panel({
region:"south",
//height:50,
frame:false,
autoHeight:true,
items:new Ext.Toolbar({
height:20,
items:[{
xtype:'label',
text:'wjt276'
}]
})
});
var _vp = new Ext.Viewport({
layout:"border",
items:[{
xtype : 'box',
region : 'north',
applyTo : 'header',
height : 50,
split : false
},
//_top
_left,_center
,_bottom2
]
});
_left.expandAll();
});
</script>
</script>
</head>
<body>
<div id="header"><h1>Extjs 3.0 - Struts2整合……</h1></div>
</body>
</html>
分享到:
相关推荐
在本文中,我们将深入探讨如何使用ExtJS 3.x实现多文件上传功能,结合Struts2框架进行数据处理。首先,我们需要确保环境配置正确。在描述中提到,我们需要将一系列Struts2相关的库文件复制到项目的`WebContent\lib`...
1. **设置Struts2的JSON插件**:在Struts2项目中,需要添加struts2-json-plugin库,然后在struts.xml配置文件中启用JSON结果类型。 2. **创建Action类**:编写处理用户请求的Action,通常会有一个方法返回一个包含...
- `struts.xml`:配置Struts2的核心配置文件,需要添加JSON插件支持,例如`struts-plugin.xml`,确保Action能够返回JSON格式的数据。 - `struts-default.xml`或自定义的Result类型:配置Action的Result,设置为...
在整合 Struts2 时,你需要确保添加了必要的依赖库,例如 `struts2-json-plugin-2.1.8.jar`,这个插件允许 Struts2 将结果直接转换为 JSON 格式,便于与 ExtJS 通信。 配置方面,你需在 `web.xml` 文件中设置 ...
本实例将探讨如何在ExtJS和Struts框架下,实现JSON格式的list对象的传输,从而提高数据交互的效率和灵活性。 首先,ExtJS是一个强大的JavaScript库,主要用于构建桌面级的Web应用。它提供了丰富的组件和数据管理...
- 特别需要注意的是,除了常规的Struts2 jar包外,还需额外引入`struts2-json-plugin-2.1.8.1.jar`和`json-lib-2.1.jar`两个库。这些库对于实现Struts2与ExtJS之间的数据交换至关重要。 3. **ExtJS资源文件**: -...