日期:2014-05-16 浏览次数:20401 次
?
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