📄 howto.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0042)http://www.amowa.net/buffalo/zh/howto.html -->
<HTML><HEAD><TITLE>如何……</TITLE>
<META content="MSHTML 6.00.2900.2802" name=GENERATOR>
<META http-equiv=Content-Type content="text/html; charset=utf-8"><LINK
href="howto.files/stylesheet.css" type=text/css rel=stylesheet></HEAD>
<BODY>
<DIV class=header id=header>
<H1>如何……</H1>
<H2>Michael Chen</H2>
<H3>2005/12/24</H3></DIV>
<DIV class=toc id=toc>
<UL>
<LI><A
href="http://www.amowa.net/buffalo/zh/howto.html#toc1">将表单序列化为一个dto对象?</A>
<LI><A
href="http://www.amowa.net/buffalo/zh/howto.html#toc2">全新开始一个buffalo应用?</A>
<LI><A href="http://www.amowa.net/buffalo/zh/howto.html#toc3">从已有应用进行升级?</A>
<LI><A href="http://www.amowa.net/buffalo/zh/howto.html#toc4">从buffalo
1.1版本升级?</A>
<LI><A href="http://www.amowa.net/buffalo/zh/howto.html#toc5">Spring集成?</A>
<LI><A href="http://www.amowa.net/buffalo/zh/howto.html#toc6">自定义事件?</A>
<LI><A href="http://www.amowa.net/buffalo/zh/howto.html#toc7">数据绑定?</A>
<LI><A href="http://www.amowa.net/buffalo/zh/howto.html#toc8">浏览器前进后退?</A>
</LI></UL></DIV>
<DIV class=body id=body><A name=toc1></A>
<H2>将表单序列化为一个dto对象?</H2>
<P>在1.2.1版本中,提供了Buffalo.Form.formToBean方法,可以将表单直接序列化为对象。使用方法可见demo应用中的Form demo.
简单用法如下,将表单中的信息转化为一个net.buffalo.demo.form.User对象。 </P>
<P><PRE class=code>var userObj = Buffalo.Form.formToBean("form1", "net.buffalo.demo.form.User");
buffalo.remoteCall("userService.createUser", [userObj], function(reply){
alert(reply.getResult().username);
})
</PRE>转换原则:对于普通text,password,radio,select-one,
直接转化为(name=value)的一个属性;对于select-many, checkbox, 转化为一个String[]或者String的List。
<P></P><A name=toc2></A>
<H2>全新开始一个buffalo应用?</H2>
<P>全新开始一个buffalo应用,只需要按照[quickstart.html]中的指导,或者直接<A
href="http://www.amowa.net/buffalo/zh/download.html">下载</A>buffalo-example.war开始一个新的应用即可。
</P><A name=toc3></A>
<H2>从已有应用进行升级?</H2>
<P>如果只想使用buffalo的远程调用功能,那么只需要引入javascript和相应的jar,按照站点其它部分的说明进行使用即可;如果想使用buffalo来托管页面流程,请将页面进行拆分,按照OPOA的设计原则进行。别忘了到<A
href="http://www.amowa.net/buffalo/zh/best_practice.html">最佳实践</A>中看看你是否适合使用OPOA.
</P><A name=toc4></A>
<H2>从buffalo 1.1版本升级?</H2>
<UL>
<LI>替换相应的jar以及javascript
<LI>在web.xml定义bfapp servlet.
<LI>将spring与buffalo-service中定义的endpoint合并为一个: /yourwebapp/bfapp
<LI>如果需要浏览器前进后退,按照下面的文档进行 </LI></UL><A name=toc5></A>
<H2>Spring集成?</H2>
<UL>
<LI>保证Spring正常加载(采用config servlet或者context listener的方式,此处不赘述)
<LI>在任一个spring配置文件中加入BuffaloConfigurer bean:
<P></P><PRE class=code><bean name="buffaloConfigBean" class="net.buffalo.service.BuffaloServiceConfigurer">
<property name="services">
<map>
<entry key="testSpringService1"><ref bean="yourBeanId"/></entry>
<!-- oterh entries... -->
</map>
</property>
</bean>
</PRE></LI></UL>
<P>Buffalo会在启动时自动加载这个bean, 并加载所有的service.
前台使用方式没有任何不同,buffalo一致对待来自于buffalo-service.properties中的服务和来自spring中的服务。 </P><A
name=toc6></A>
<H2>自定义事件?</H2>
<P>buffalo.events["onLoading"] = function(state) {...} </P>
<P>事件包括:onLoading, onFinished, onError, onException </P><A name=toc7></A>
<H2>数据绑定?</H2>
<P>buffalo.bindReply(service, params, elementId) </P>
<P>或者直接使用Buffalo.Bind.bind(elementId, bindValue) </P><A name=toc8></A>
<H2>浏览器前进后退?</H2>
<UL>
<LI>加入buffalo-blank.html的iframe引用,id="buffalo-view-history-iframe":
<P></P><PRE class=code><iframe src="buffalo-blank.html"
id="buffalo-view-history-iframe" width="0" height="0"
style="display:none;"></iframe>
</PRE>
<P></P>
<LI>切换视图的时候,采用buffalo.switchView(viewName), buffalo会自动记录视图切换历史
<LI>对于不需要纪录的视图,采用buffalo.switchPart(...) 进行排除 </LI></UL></DIV><!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) --><!-- cmdline: txt2tags howto.t2t --></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -