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好!
部分代码再上传的文件里
分享到:
相关推荐
主要介绍了zk+spring+hibernate的使用方法 早期使用的是 hibernate的配置文件 后来 被改成了 引用注释的方式 老的绑定文件也没有删除,sql下面由数据库文件 导入mysql就可以,不错的教学例子 学习起来很简单
在自个学习zk和其他两个框架整合的时候,总是找不到合适的整合demo进行参考,希望此次上传能对初学者有用
数据库是mysql的 都在压缩文件中了 里面有具体的操作步骤。项目是一个zk+spring+hibernate整合
使用zk+spring+hibernate+mysql做的demo,只需要修改下MySQL连接字符串就可以运行。因为容量有点大。分卷压缩了,请下全后解压。
ZK+Spring+Hibernate jar包名稱
zk+spring+hibernate spring bean的管理全部使用注解,hibernate也全部使用注解
在自个学习zk和其他两个框架整合的时候,总是找不到合适的整合demo进行参考,希望此次上传能对初学者有用,能够给你们一个完整的代码,让你们可以直接把项目运行起来,这样对于开发来说是最重要的
ZK Spring hibernate 完美整合
Spring+hibernate+ZK例子
使用zk+spring+hibernate+mysql做的demo,只需要修改下MySQL连接字符串就可以运行。因为容量 有点大。分卷压缩了,请先下载zk+spring+hibernate+mysql demo(),下全后解压。
ZK+Spring+Hibernate项目搭建,最近刚是的,数据库是postgreSQL
zk+spring+hibernate增删改查,整合实例,亲测可用zk+spring+hibernate增删改查,整合实例,亲测可用
包含构建spring+springmvc+jpa(hibernate)架构框架的所需文件
很多zk初学者对zk与spring和hibernate的整合很头疼,在这花了一晚上的时间整了个完整工程包供大家学习参考,所需jar包很大,都抓成图片了,具体看工程说明. 在遇到zk方面的问题可以加qq群:71714290交流。
使用Spring,Spring-AOP,Spring-Security,Hibernate,JasperReports,DynamicJasper,Generic-Hibernate-DAO。 现场演示:http://www.zk-web.de/zksample2/看一下我们名为ZKBoost的新项目。 功能齐全的基本应用...
NULL 博文链接:https://marsvaadin.iteye.com/blog/1391554
ZK + Spring安全授权模块。 Hibernate用于为MySql方言提供ORM层。 有3个表可提供简单的用户凭据。 USER,ROLE,USER_ROLE。 二手弹簧3.1.2 RELEASE和ZK 8.0.1
ZK7+Spring4+Hibernate4框架整合,Spring所需jar包,整合过程见我的博客。