JessMA(原名:Portal-Basic)是一套功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hibernate、MyBatis 与 JDBC DAO 组件),集成了 Action 拦截、Form / Dao / Spring Bean 装配、国际化、文件上传下载和页面静态化等基础 Web 应用组件,提供高效灵活的纯 Jsp/Servlet API 编程模型,可完美整合 Spring / Guice,支持 Action Convention,能快速开发传统风格和 RESTful 风格应用程序,文档和示例完善,非常容易学习。
JessMA 官方网站:http://www.jessma.org JessMA 下载地址:http://www.oschina.net/p/portal-basic JessMA 在线示例:http://demo.jessma.org JessMA 在线 API 文档:http://www.jessma.org/doc
1) JessMA 的事务是 DAO 层事务,也就是说当外部调用某个 DAO 方法时,该方法作为一个事务单元执行。 但在一些特殊情形下可能需要在 DAO 外部执行 Service 层事务(例如:事务需要调用多个 DAO 对象的多个方法), 此时需要创建一个自定义事务(CustomTransaction),并调用 FacadeProxy 的 executeCustomTransaction(...) 来执行该自定义事务。 2) 增加自定义事务相关接口: A) CustomTransaction : 自定义事务基接口 B) JdbcTransaction : JDBC 自定义事务接口 C) MyBatisTransaction : MyBatis自定义事务接口 D) HibernateTransaction : Hibernate 自定义事务接口
(示例) public static void serviceMethod() { // 获取 SessionMgr HibernateSessionMgr mgr = (HibernateSessionMgr)AppConfig.getSessionManager("mgr-1"); // 执行自定义事务 FacadeProxy.executeCustomTransaction(mgr, new HibernateTransaction(){ // 实现自定义事务方法 @Override public void execute(HibernateSessionMgr mgr) throws DAOException { // 创建 dao1 (可以使用 FacadeProxy 创建 DAO 对象) MyDaoA dao1 = new MyDaoA(mgr); // 创建 dao2 (可以使用 ‘new MyDaoB(mgr)’ 创建 DAO 对象) MyDaoB dao2 = Facade.create(MyDaoB.class, mgr);
// 执行 DAO 方法 dao1.methodXxx(); dao2.methodYyy(); dao1.methodZzz(); dao2.methodNnn(); }}); }
OpenBuild是什么?OpenBuild是一个面向Web3开发者的开源社区。我们致力于为开发者提供高质量的系统性内容和活动,同时连接Web2和Web3,帮助开发者过渡到去中心化的网络,并通过提供必要的工具和资源,帮助开发者建立结构化系统,构建信任,创造商业机会。4StepsOnboarding More Web2devtoWeb3OpenBuild产品网站:openbuild.xyzDisco
利用javascript读取表单数据,可以利用以下三种方法获取:
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id");
2、通过表单名称属性:var b = document.getElementsByName("name");
3、直接通过表单名字获取:var c = form.content.
什么是Spring Data Mongo
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括
1. 封装客户端跟MongoDB的链接管理
2. 文档-对象映射,通过注解:@Document(collectio
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known