如何从JSF调用JSP页面

时间:2012-12-27 07:44:17

标签: jsp jsf navigation

如何从JSF页面调用jsp页面

在Code下面我正在尝试但无法重定向到jsp页面。

请指导。

<f:view>
    <a4j:keepAlive beanName="homeBB"></a4j:keepAlive>
<div id="successDiv"></div>
<div id="formDiv">
    <form action="/project/Pages/SecondPage.jsp" method="post" enctype="multipart/form-data"
        name="form1" id="form1">
<table>
.
.
</table>

<a4j:commandLink reRender="subMenuPanel" ajaxSingle="true"
        rendered="#{homeBB.hideNomineeTabFlag}" value="Nominee "
        styleClass="navfont">
    <f:setPropertyActionListener target="#{homeBB.subMenuviewId}"
         value="/Pages/SecondPage.jsp" />
</a4j:commandLink>

即使我尝试了

<input type="button" name="Submit" value="Submit" />

2 个答案:

答案 0 :(得分:0)

你可以使用:

<h:form>
    <h:commandButton value="submit" type="submit" action="#{bean.secondPage}" />
</h:form>

在bean类中,你必须返回secondPage.jsp。

public class Bean{
...
public String secondPage()
{
 return "/Pages/SecondPage.jsp"; // this works directly in JSF 2.x
}
}

答案 1 :(得分:0)

使用普通的提交按钮,就像在JSP页面中一样。

<input type="submit" value="Nominee" />

或者,如果您确实需要它作为链接,请通过JS提交表单。

<a href="javascript:void(0)" onclick="document.getElementById('form1').submit()">Nominee</a>

无关具体问题,我建议看看Tomahawk的<t:inputFileUpload>,如果唯一的原因是你真的想要通过JSF上传文件,但不喜欢<rich:fileUpload>。这样你最终会得到更清晰的代码,而不是一些丑陋的JSP样板。