jsf之导航
jsf导航分为两种:一种是静态导航,一种是动态导航
一:静态导航的实现:
<h:form>
<h:commandButton label="静态导航" action="jintaidaohang"></h:commandButton>
</h:form>
原理:commandButton标签实际上是在页面生成一个submit的html按钮,所以这个标签一定要被form包裹,这样才能形成一个form提交的操作.该form可以有自己的action,与这个命令按钮无关,这个commandButton的action属性就是表单提交到后台jsf自动帮你转到的视图名称。
注意:
1,action属性的名字如果和form的处理action放回值相同,那么会直接跳转到制定的视图上,不会经过action的处理的。
2,该命令按钮必须被form包括形成form的post的提交效果。
二:动态导航的实现:
<h:form>
<h:commandButton label="静态导航" action="jintaidaohang"> </h:commandButton>
</h:form>
处理action方法:
public String dongtaidaohang()
{
if(getName().equals("chenchaoyang")){
return "success";
}
return "fail";
}
注意:
1,动态导航的命令按钮依然需要放进form中,以便进行post提交
2,动态处理方法返回不同视图的id
3,jsf根据处理方法返回的值跳转到制定的视图上。