package com.zk;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Components;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.Composer;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Textbox;
import com.hibernate.entity.Info;
import com.service.Service;
/**
* @author AnnBabyLive
*
*/
public class MyComposer implements Composer {
protected Textbox name;
protected Textbox address;
private Service service;
public void setService(Service service) {
this.service = service;
}
public void init(Component component){
//将当前对象的变量和参数对象进行绑定
Components.wireVariables(component, this);
//转发一个当前的事件方法到所对应名称的Component()
Components.addForwards(component, this);
//注册一个监听到当前的对象
Events.addEventListeners(component, this);
}
public void doAfterCompose(Component component) throws Exception {
init(component);
}
/**
*
*
* onClick$save
* onClick=事件名称
* save=对应的Component id
* $必须的!
*
*/
public void onClick$save(Event e){
Info info=new Info();
info.setName(name.getValue());
info.setAddress(address.getValue());
service.saveInfo(info);
showMes("录入成功!");
}
public void showMes(String message){
try {
Messagebox.show(message);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd">
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="/WEB-INF/hibernate.cfg.xml">
</property>
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="baseHibernateDAO" class="com.hibernate.dao.BaseHibernateDAOImp">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="infoDAO" class="com.hibernate.dao.InfoDAO" parent="baseHibernateDAO"/>
<bean id="service" class="com.service.ServiceImp">
<property name="infoDAO" ref="infoDAO"/>
</bean>
<bean id="myWindow" class="com.zk.MyComposer" scope="prototype">
<property name="service" ref="service"/>
</bean>
</beans>
<?page id="testZul" title=" New ZUL Title" cacheable="false"
language="xul/html" zscriptLanguage="Java" contentType="text/html;charset=UTF-8"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<zk xmlns="http://www.zkoss.org/2005/zul"
xmlns:h="http://www.w3.org/1999/xhtml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
<window title="My First Window" border="normal" width="200px" apply="${myWindow}">
<label value="Name:"/><textbox id="name"/>
<label value="Address:"/><textbox id="address"/>
<button id="save" label="Save"/>
</window>
</zk>
一定要加<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
name,address,save一定要和MyComposer.class里面的一样
public class ServiceImp implements Service {
private InfoDAO infoDAO;
public void setInfoDAO(InfoDAO infoDAO) {
this.infoDAO = infoDAO;
}
@Transactional(propagation=Propagation.REQUIRED,rollbackFor={RuntimeException.class})
public void saveInfo(Info info) {
this.infoDAO.save(info);
}
}
也可以让MyComposer extends GenericForwardComposer || GenericAutowireComposer
然后再doAfterCompose调用父类的doAfterCompose方法,这样就不用去写init方法了!
不过还是觉的写init 要比extends一个Class好!
部分代码再上传的文件里
分享到:
相关推荐
4. **配置ZK-Spring**:需要引入ZK-Spring的库,这是一个连接ZK和Spring的桥梁,它提供了Spring的ApplicationContext到ZK Session的绑定,使得ZK组件可以直接使用Spring的Bean。 5. **事务管理**:由于Spring对事务...
主要介绍了zk+spring+hibernate的使用方法 早期使用的是 hibernate的配置文件 后来 被改成了 引用注释的方式 老的绑定文件也没有删除,sql下面由数据库文件 导入mysql就可以,不错的教学例子 学习起来很简单
在IT行业中,`ZK`(ZooKeeper)、`Spring`和`Hibernate`都是非常重要的技术组件,分别在分布式协调、应用框架和对象关系映射领域有着广泛应用。本项目是将这三个技术进行整合,用于构建一个基于MySQL数据库的完整...
在IT行业中,ZK、Spring和Hibernate是三个非常重要的开源框架,它们分别专注于用户界面、应用框架和持久层管理。让我们深入探讨这三个技术以及如何将它们完美整合。 **ZK框架** 是一个基于组件的Java桌面应用开发...
使用zk+spring+hibernate+mysql做的demo,只需要修改下MySQL连接字符串就可以运行。因为容量有点大。分卷压缩了,请下全后解压。
ZK+Spring+Hibernate jar包名稱
在自个学习zk和其他两个框架整合的时候,总是找不到合适的整合demo进行参考,希望此次上传能对初学者有用,能够给你们一个完整的代码,让你们可以直接把项目运行起来,这样对于开发来说是最重要的
在IT行业中,`ZK`、`Spring`和`Hibernate`是三个非常重要的框架,分别在分布式协调、依赖注入及持久化层提供了强大的支持。在这个`zk+spring+hibernate(全部用注解)`的项目中,我们将探讨如何完全利用注解来配置和...
本项目采用"ZK+Spring+Hibernate"的技术栈,这是一个常见的Java Web开发组合,旨在提供高效、灵活和可维护的解决方案。下面将详细阐述这三个核心技术及其在项目中的作用。 **ZK框架**: ZK是一个基于组件的Java ...
使用zk+spring+hibernate+mysql做的demo,只需要修改下MySQL连接字符串就可以运行。因为容量 有点大。分卷压缩了,请先下载zk+spring+hibernate+mysql demo(),下全后解压。
在"Spring+hibernate+ZK例子"中,可能包含了一个整合这三个技术的应用示例。Spring作为核心框架管理整个应用的生命周期,通过AOP和DI来协调各个组件。Hibernate则被用来处理数据库交互,简化数据存取操作。而ZK可能...
在IT行业中,`ZK`(ZooKeeper)、`Spring`和`Hibernate`是三个非常重要的框架,它们分别用于分布式协调、应用框架管理和对象关系映射。本整合实例旨在展示如何将这三个技术相结合,实现一个完整的增删改查(CRUD)...
ZK框架是用Java编写的,因此它完全兼容Java平台,并且可以与其他Java技术如Spring、Hibernate等无缝集成。而标签中的"zk-src-6.5.1.1"可能表示还有一个更新的源代码版本可供研究。 压缩包子文件"zk-src-6.0.1"暗示...
Spring、SpringMVC和JPA(Hibernate)是Java开发中常用的三大框架,它们共同构建了一个高效、灵活的企业级应用架构。下面将详细讲解这三大框架的整合及其在实际项目中的运用。 Spring框架是Java企业级应用的核心...
11. **spring-zkclient.jar**或**zk-spring.jar**:Spring与ZK客户端的集成包,方便在Spring应用中使用ZooKeeper。 在实际项目中,为了完整地运行Spring4,可能还需要其他依赖,如日志库(log4j、slf4j)、JTA...
标题 "zk+hibernate+spring零配置" 暗示了一个集成开发环境,其中包含Zookeeper、Hibernate和Spring框架的无配置或最少配置的整合。这个环境可能旨在简化开发流程,提高效率,并减少错误的可能性。下面将详细介绍这...
很多zk初学者对zk与spring和hibernate的整合很头疼,在这花了一晚上的时间整了个完整工程包供大家学习参考,所需jar包很大,都抓成图片了,具体看工程说明. 在遇到zk方面的问题可以加qq群:71714290交流。
首先,"ZK-Studio_userguide.pdf"是关于ZK Studio的用户指南,ZK Studio是ZK提供的一个集成开发环境,用于简化ZK应用的创建、调试和部署过程。该文档将详细介绍如何安装和配置ZK Studio,以及如何使用其各种功能,如...