extjs struts2 convention 注解

 

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..

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值