日期:2014-05-16  浏览次数:20320 次

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 typ