日期:2014-05-16  浏览次数:20304 次

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根据处理方法返回的值跳转到制定的视图上。