struts2-convention.plugin 插件与extjs 整合.
注:..其实这种struts2 的注解方式也可以与jquery,ajax
结合...
在
www.shoujicaipiao.com.cn
这个网站中就用到了jquery+struts2-convention-plugin
技术结构:
struts2+spring+jpa+extjs+mysql
包结构:
运行界面:
web.xml 省略.
struts.xml
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="true" /><!-- 开启动态方法 -->
<constant name="struts.i18n.encoding" value="gbk"></constant>
<constant name="struts.devMode" value="false" /><!-- 开启开发者模式 -->
<!-- 不用dojo的及struts2复杂标签样式的就把主题设置为simple,这样可以不加载多余的模板。 -->
<constant name="struts.ui.theme" value="simple" />
<constant name="struts.custom.i18n.resources" value="messageResource" />
<!-- 确定搜索包的路径。只要是结尾为action的包都要搜索 -->
<constant name="struts.convention.package.locators" value="action" />
<!-- 一个action名字的获取。比如为HelloWorldAction。按照配置,actionName为hello_world -->
<constant name="struts.convention.action.suffix" value="Action" />
<constant name="struts.convention.action.mapAllMatches" value="true" />
<constant name="struts.convention.action.name.separator" value="-" />
<!-- 设置默认的父包,一般我们都设置一个default包继承自struts-default -->
<constant name="struts.convention.default.parent.package" value="rest-default" />
<!-- Add packages here -->
</struts>
applicationContext.xml
<context:component-scan base-package="com.chenxi"/>
<context:property-placeholder location="classpath:spring.properties"/>
<!-- 数据源,使用 src 下的 c3p0.properties 配置 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"/>
<!-- JPA实体管理工厂配置 -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="${showSql}"/>
<property name="database" value="${database}"/>
<property name="databasePlatform" value="${dialect}"/>
</bean>
</property>
</bean>
<!-- 实体管理器配置 -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<!-- 以注解驱动方式配置事务 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
ManagerAction
@Component
@Scope("prototype")
@ParentPackage("json-default")
@Results({
@Result(name="success",type="json",params={"managerList","managerList"})
})
public class ManagerAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private int limit;
private int start;
private int totalProperty;
private List<Cardcategory> managerList;
private int id;
@Autowired
private ManagerService managerService;
public String getManager(){
try {
start = start > 1 ? start/limit +1 : start;
managerList = managerService.getM(start,limit);
} catch (Exception e) {
e.printStackTrace();
}
return "success";
}
}
manager.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<script type="text/javascript" src="js/manager.js" charset="GBK"</script>
<body>
<div id="sadf"></div>
</body>
</html>
manager.js--简单的grid实现
var store = new Ext.data.Store( {
proxy : new Ext.data.HttpProxy( {
url : 'manager/0/getManager'
}),
reader : new Ext.data.JsonReader( {
root : 'managerList',
totalProperty : 'totalProperty',
id : 'id'
}, [ {
name : 'categoryname',
mapping : 'categoryname',
type : 'string'
}, {
name : 'cardcost',
mapping : 'cardcost',
type : 'int'
}, {
name : 'salefetchmethod',
mapping : 'salefetchmethod',
type : 'string'
}, {
name : 'salefetchmoney',
mapping : 'salefetchmoney',
type : 'int'
}, {
name : 'fundfetchmethod',
mapping : 'fundfetchmethod',
type : 'string'
}, {
name : 'fundfetchmoney',
mapping : 'fundfetchmoney',
type : 'int'
} ])
});
store.load( {
params : {
start : 0,
limit : 15
}
});
var cm = new Ext.grid.ColumnModel( [ {
header : '卡类型名称',
dataIndex : 'categoryname',
sortable : true,
width : 100
}, {
header : '卡的基本费用',
dataIndex : 'cardcost',
sortable : true,
width : 100
}, {
header : '售卡提成方式',
dataIndex : 'salefetchmethod',
sortable : true,
width : 100
}, {
header : '售卡提成金额',
dataIndex : 'salefetchmoney',
sortable : true,
width : 100
}, {
header : '充值提成方式',
dataIndex : 'fundfetchmethod',
sortable : true,
width : 100
}, {
header : '充值提成金额',
dataIndex : 'fundfetchmoney',
sortable : true,
width : 100
} ]);
cm.defaultSortable = true;
var grid = new Ext.grid.GridPanel( {
border : false,
store : store,
loadMask : true,
cm : cm,
region:'center',
autoExpandColumn:true,
stripeRows:true,
tbar : new Ext.PagingToolbar( {
store : store,
pageSize : 15,
displayInfo : true,
displayMsg : "本页显示第{0}条到第{1}条的记录,一共{2}条",
emptyMsg : "没有记录"
})
});
Ext.onReady(function() {
Ext.QuickTips.init();
grid.render(new Ext.getDom("sadf"));
});
jquery+struts2-convention..
- 大小: 49 KB
- 大小: 71.5 KB
分享到:
相关推荐
网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。
研究了半天的ExtJs+Struts2多文件上传.直接导入就可以运行。
extjs Struts 实例程序 示例 extjs2 extjs+struts+mysql 示例程序
Extjs4文件上传,后台struts2
一个运用Extjs,Struts2, json,iterator技术构建的iterator_jsonDemo2。iterator_jsonDemo1的链接:http://download.csdn.net/detail/cafebar123/8816409 运用了Extjs,Struts2, json,iterator技术, 将数据从...
1.extjs 的简单增删改。 2.后台使用struts2实现 3.左边是树形菜单。
struts2 extjs 实现多图片批量上传,已经运用到项目当中了。
Hibernate+Spring+Struts2+extjs开发的图文管理系统。
eclipse下EXTJS4+STRUTS2+JAVA增删改查的完整例子
一款结合了Struts2、spring 等时下最流行的框架,用Extjs实现的图书馆系统,建议对Extjs有兴趣的朋友下载参考。
ExtJs + Struts2 + JSON 程序总结
struts2+extjs3的单/多文件上传,后台也可以不用struts2,前台也可以去掉extjs,资源包含所需要的所有JAR包,无需另外下载,代码量绝对精简易懂。
Hibernate+Spring+Struts2+ExtJS整合开发实例 非常经典!学习的好帮助!
搭建EXTJS和STRUTS2框架(ext和struts2简单实例)
基于extjs struts hibernate 开发的人力资源管理系统,含有详细的源代码实现,数据库sql,并附图片,很好的一个项目供大家学习!
ExtJS与Struts2的整合工程实例,能成功部署的MyEclipse工程,还配有相应的文档。
应用extjs4和struts2开发的省市区三级联动完整示例,导入myeclipse即可用,无需再导入任何jar包
搭建EXTJS和STRUTS2框架 大家放心收藏! saivicky出品,必属精品!
本Demo采用Struts2.1.8+Spring2.5.6(Annotation注解)+Hiberante3.3.2(Annotation注解)+ExtJS(Struts2-json)
ExtJS Struts 例子。 还不错的。