Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将f:ajax标记添加到h:link?_Ajax_Jsf - Fatal编程技术网

如何将f:ajax标记添加到h:link?

如何将f:ajax标记添加到h:link?,ajax,jsf,Ajax,Jsf,我有这个: <h:link value="Sign In" outcome="login.jsp" /> 知道我做错了什么吗?谢谢 这个确实不能以这种方式工作。改用 <h:form> <h:commandLink value="Sign In" action="login.jsp?faces-redirect=true" /> <f:ajax listener="#{loginHandler.dismissSignUpDialo

我有这个:

<h:link value="Sign In" outcome="login.jsp" />
知道我做错了什么吗?谢谢

这个
确实不能以这种方式工作。改用

<h:form>
    <h:commandLink value="Sign In" action="login.jsp?faces-redirect=true" />
        <f:ajax listener="#{loginHandler.dismissSignUpDialog}" />
    </h:commandLink>
</h:form>


顺便问一下,为什么您仍然使用JSP而不是Facelets?

我认为您最好使用一个
,其操作设置为您的方法,然后更改该方法以返回与您的结果相对应的字符串。即:

 <h:commandLink value="Sign In" action="#{loginHandler.dismissSignUpdialog}" />

谢谢这就是原因。我有两个页面login.jsp和loginError.jsp,它们被配置为web.xml中的中的两个页面。我的应用程序中的所有页面都是Facelets/XHTML,但这两个页面都是JSP——最初是因为我的理解是,我不能将“JSF”页面用于登录页面。这方面有什么建议吗?为什么没有?您可以自由地在Facelet文件中编写简单的HTML。您甚至可以在一个简单的HTML GET表单中使用JSF组件。请参见代码中有一个小的输入错误,因此不允许我编辑小于6个字符的内容。定义动作后,h:commandLink有一个结束标记;斜线应该被删除。顺便说一句,巴卢斯岩石!:)
<h:form>
    <h:commandLink value="Sign In" action="login.jsp?faces-redirect=true" />
        <f:ajax listener="#{loginHandler.dismissSignUpDialog}" />
    </h:commandLink>
</h:form>
 <h:commandLink value="Sign In" action="#{loginHandler.dismissSignUpdialog}" />
 public String dismissSignUpDialog() {
     setUpDialogDismissed(true);
     return "login";
 }