我工作的一个JSF的电子表格应用程序。 此应用程序需要被嵌入到其他网站(一个用JSP)。 我可以嵌入这个问题的唯一方法是通过在jQuery的文件准备阶段。
我已经得到了我所需要的嵌入网页,一切都显示为预期,但有一个问题。
在我的新形式/编辑形式的网页我有一个提交按钮,更新表单或创建在服务器端一个新的,然后导航到屏幕成功或失败屏幕的动作完成时。
当这个页面是嵌入式的,这个按钮仍然执行服务器(真棒!!)的作用,但是,正如所料,页面重定向到成功画面。 我希望做的就是保持“父”屏幕上,只是与成功页/失败页面替换嵌入页面。
我想我可以去了解这个方法是以某种方式拦截从JSF导航事件,并从该事件重新加载页面嵌入。 这里的关键是提交后不能离开父页面。
我在Tomcat 6运行JSF2.0(implement执行的Apache)和jQuery的版本是1.3。
我希望这是明确的..让我知道,如果你们需要任何更多的信息。
谢谢!
当这个页面是嵌入式的,这个按钮仍然执行服务器(真棒!!)的作用,但是,正如所料,页面重定向到成功画面。 我希望做的就是保持“父”屏幕上,只是与成功页/失败页面替换嵌入页面。
只是返回null
或void
,并有条件地呈现内容。
因此,这样
public void submit() {
results = processAndGetIt();
}
如与
<h:form>
...
<h:commandButton value="Submit" action="#{bean.submit}">
<f:ajax execute="@form" render=":results" />
</h:commandButton>
</h:form>
<h:panelGroup id="results">
<h:panelGroup rendered="#{not empty bean.results}">
Results have been retrieved: #{bean.results}.
</h:panelGroup>
</h:panelGroup>
请注意,我说<f:ajax>
为更好的用户体验。