我的问题是我无法使用spring显示弹出窗口,我有一个屏幕A,其中基于一个特定的标志,我想显示一个弹出B的命令按钮(素数脸或Spring faces)。
我试着做了一些事情
我的网络流量看起来就像
<view-state id="accSummary">
<transition on="searchRequest" to="startRequest" />
<transition on="addRequest" to="PopUpViewState" />
</view-state>
<view-state id="PopUpViewState" popup="true"
redirect="true">
</view-state>
Xhtml看起来像
<p:commandButton value="#{label.addRequest}" action="addRequest" />
看来popup="true"
不起作用了。
请帮帮忙。
SWF 2.3.0;PrimeFaces2.2.1;JSF2;Security 3;Spring3.1.0M1;EhCache;ApacheTomcat6.0;STS2.5.1
发布于 2011-11-15 07:29:02
popup="true"
似乎还没有(?)在SWF2.3.0中支持。根据SWF文档http://static.springsource.org/spring-webflow/docs/2.3.x/reference/html/ch13.html
还注意到Spring组件库,它只为JSF1.2环境提供Ajax和客户端验证功能,不会升级到JSF2.0。鼓励应用程序使用第三方JSF 2组件库,如PrimeFaces和RichFaces。例如,Spring发行版中的SWF-订票-faces示例是使用JSF 2和PrimeFaces组件构建的。
因为SWF弹出窗口是基于Ajax的,所以我想这不适用于JSF2。
另一种选择可能是使用rich:popupPanel modal="true"
或类似于PrimeFaces的东西,但到目前为止,我还不知道如何将popup="true"
从JSF1.2顺利/快速地转换为JSF2中的一些东西。
编辑:
要在popup="true"
中启用特性(包括JSF2 ),请对流处理程序适配器配置进行以下更改:
<bean class="org.springframework.js.ajax.SpringJavascriptAjaxHandler"
id="springAjaxHandler">
</bean>
<bean class="org.springframework.faces.webflow.JsfAjaxHandler"
id="jsfAjaxHandler">
<constructor-arg ref="springAjaxHandler"/>
</bean>
<bean class="org.springframework.faces.webflow.JsfFlowHandlerAdapter">
<property name="flowExecutor" ref="flowExecutor"/>
<property name="ajaxHandler" ref="jsfAjaxHandler"/>
</bean>
完成后,我有SWF弹出窗口和其他组件(sf命令按钮、链接等)。工作中。这不是为JSF2进行配置的“官方”解决方案或建议,因此使用它需要您自己承担风险。
https://stackoverflow.com/questions/7148524
复制