没有托管Bean的JSF重定向

时间:2012-12-17 18:52:50

标签: jsf redirect

我正在尝试将JSF用作纯粹的前端工具。我可以提交表单并根据该表单的结果重定向到不同的页面吗?在这种情况下,我有一个后端服务,它返回结果变量中的结果。根据“result.success”,我想导航到适当的页面/视图。这是我的JSF源代码:

<!DOCTYPE html>
 <html lang="en"
  xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:r="http://mycustomtags.com/tags"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:c="http://java.sun.com/jsf/core">
  <head>
    <r:myService service="adminlogin" namespace="result" params='{"dummy":"Dummy Value"}' />
  </head>
  <body>
    #{result}
    <f:viewParam name="redirectPage" value='#{(result.success)?"success.xhtml?faces-redirect=true" : "sample-login.xhtml?IncludeViewParams=true"}' />
    output:#{redirectPage}
    <h:form method="post" action="sample-login.xhtml">
        <input name="token" type="hidden" class="input-block-level" value="34857349850" />
        <input name="email" type="text" class="input-block-level" placeholder="email" />
        <input name="password" type="password" class="input-block-level" placeholder="password" />
        <h:commandButton action="#{redirectPage}" value="Login" />
    </h:form>           
  </body>
</html>

我需要导航到success.xhtml。我不想使用“faces-config.xml”。有任何想法吗?这是我的JSF代码。顺便说一句,这是行不通的,因为“h:commandButton”中的action参数需要一个MethodExpression。

0 个答案:

没有答案