读书人

开启、封闭对话的各种方式

发布时间: 2012-12-25 16:18:29 作者: rapoo

开启、关闭对话的各种方式
开启长对话

有多种开启方式

1)在页面url中开启

<s:link view="/stock/trafficDocNoAss.xhtml" propagation="begin"

?

也可以直接在url增加conversationPropagation=begin参数

http://localhost:8080/NBSBase/stock/trafficDocNoAss.seam?conversationPropagation=begin

?

2)在***.page.xml中开启

trafficDocNoAss.page.xml

<page xmlns="http://jboss.com/products/seam/pages"
??? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
??? xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.1.xsd">
??? <begin-conversation join="true"/>
</page>

当进入trafficDocNoAss..xhtml页面前开始长对话

?

3)通过@Begin注释

??? @Begin
??? public void delete(FormCodes FormCodes){
??? ??? System.out.println("dddd"+FormCodes.getFormCode());
??? ??? try {
??? ??? ??? formCodesDao.remove(FormCodes);
??? ??? } catch (BusinessException e) {
??? ??? ??? // TODO Auto-generated catch block
??? ??? ??? e.printStackTrace();
??? ??? }
??? ??? search();

??? ??? super.cleanEntity();
??? }

?

4)Conversation.instance().begin()

??? public void delete(FormCodes FormCodes){
??? ??? Conversation.instance().begin();

分析各自特点:

1)开始方便,缺点:直接通过url进入页面不能开始对话

2)基本上没有缺点,直接通过url进入页面也能开始对话

3与4基本类似,缺点是需要执行指定的方法,将对话加在那个方法上是有讲究的。

?

关闭长对话

1)在页面url中关闭

<s:button view="/home.xhtml" propagation="end" value="back"></s:button>

2)在***.page.xml中关闭

<page xmlns="http://jboss.com/products/seam/pages"
??? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
??? xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.1.xsd">
??? <end-conversation/>进入页面前关闭当前对话
</page>

3)在程序中控制

@End和Conversation.instance().end()

?

4)利用对话超时特性

上面的3种方式都不能很好的关闭对话,因为用户可能不按程序设计的步骤操作。

将对话超时设置的比较短就会自动关闭非当前的长对话。

读书人网 >编程

热点推荐