【问题标题】:How to forward a response to a JSF page from Backing Bean?如何从 Backing Bean 转发对 JSF 页面的响应?
【发布时间】:2011-08-27 12:59:31
【问题描述】:

我目前在一个 JSF 项目中工作,但遇到了一个问题。我有这样的要求,

  1. 我有一个按钮。单击该按钮应触发一个道场对话框,其中将显示“确定”和“取消”按钮以及信息消息。单击取消按钮将关闭弹出窗口。

  2. 单击“确定”按钮将通过调用 document.formname.submit() 以 javascript 提交表单。

问题是在提交时,我需要将用户带到另一个页面并做出响应。我的意思是转发而不是重定向。如果我使用带有 action 属性的 h:commandButton,则会出现弹出窗口并提交表单,而无需等待弹出窗口中的用户操作..

我希望第一个按钮单击应该触发 javascript 函数,并且“确定”应该提交表单并将响应转发到另一个页面。

请建议我如何使用我的 xhtml、javascript、backing bean 和 faces-config 做到这一点。如果需要,我也会发布一些示例代码。

到现在为止我都是这样的,

xhtml

<h:commandButton id="viewBtn" type="button" value="submit" onclick="submidt()"/>

js:

function submidt() {
                var h = new dijit.Dialog({
                    title: "Hello"
                });
                var content = "<input type='button' onclick='document.searchSecurityForm.submit();' value='OK' /><input type='button' onclick='this.hide();' value='Cancel' />";
                h.attr("content",content);
                h.show();
            }

面孔配置:

    <navigation-rule>
    <from-view-id>/viewpage.xhtml</from-view-id>
    <navigation-case>
        <to-view-id>/editpage.xhtml</to-view-id>
    </navigation-case>
</navigation-rule>

所以这些使我与响应保持在同一页面(查看页面)中。我想让用户带去编辑页面。

提前致谢。 去G

【问题讨论】:

    标签: javascript jsf xhtml dojo javabeans


    【解决方案1】:

    如果我使用带有 action 属性的 h:commandButton,则会出现弹出窗口并提交表单,而无需等待弹出窗口中的用户操作..

    在您的 javascript onclick 方法结束时返回 false。

    function submidt() {
        var h = new dijit.Dialog({
            title: "Hello"
        });
    
        var content = "<input type='button' onclick='document.searchSecurityForm.submit();' value='OK' /><input type='button' onclick='this.hide();' value='Cancel' />";
        h.attr("content",content);
        h.show();
        return false;
    }
    

    【讨论】:

    • 感谢您的回复。一个问题得到了解决。我的意思是我可以通过返回 false 来显示弹出窗口来停止 h:commandButton。现在我想为“确定”按钮返回 true,并为弹出窗口中的“取消”按钮返回 false。请帮帮我。我欠你的……!!
    • 因为 dojo 弹出窗口一显示控件就会离开。但我想根据弹出窗口中的按钮返回真或假。我怀疑是否只有当我在dojo对话框内容中再次构造表单以提交内容时才可能?
    • 我不确定我是否完全理解。看起来您正在手动构建 var 内容中的输入按钮,并且它们似乎没有调用此函数(submidt)......那么什么不适合您?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 2011-12-08
    相关资源
    最近更新 更多