是不是觉的在face-config.xml中写<navigation-roue> 很不方便啊。
jsf中提供了navigation的扩展,可是自定义navigation。
jsf1.2实现如下:
在face-config.xml中写<application>
<navigation-handler>cn.jhc.MyNavigation</navigation-handler>
</application>
在自定义类中写
public class MyNavigation extends NavigationHandler {
@Override
public void handleNavigation(FacesContext context, String fromAction,
String outcome) {
if (outcome == null) {
return;
}
ViewHandler viewHandler = context.getApplication().getViewHandler();
String newViewId = outcome;
UIViewRoot viewRoot = viewHandler.createView(context, newViewId);
context.setViewRoot(viewRoot);
context.renderResponse();
}
}
在bean中只要写
public String login() {
return "/welcome.jsp";
}
就能访问到相应的资源了。
这就省去了在navigation-roue中加一个页面要配一个navigation的麻烦了。
Link:http://blog.163.com/java_blog/blog/static/193993170201173195019428/
jsf中提供了navigation的扩展,可是自定义navigation。
jsf1.2实现如下:
在face-config.xml中写<application>
<navigation-handler>cn.jhc.MyNavigation</navigation-handler>
</application>
在自定义类中写
public class MyNavigation extends NavigationHandler {
@Override
public void handleNavigation(FacesContext context, String fromAction,
String outcome) {
if (outcome == null) {
return;
}
ViewHandler viewHandler = context.getApplication().getViewHandler();
String newViewId = outcome;
UIViewRoot viewRoot = viewHandler.createView(context, newViewId);
context.setViewRoot(viewRoot);
context.renderResponse();
}
}
在bean中只要写
public String login() {
return "/welcome.jsp";
}
就能访问到相应的资源了。
这就省去了在navigation-roue中加一个页面要配一个navigation的麻烦了。
Link:http://blog.163.com/java_blog/blog/static/193993170201173195019428/