理解JSF操作

时间:2014-09-22 07:41:31

标签: jsf controller action

我启动JSF 2,我创建了一个xhtml页面是index.xhtml,这个页面有一个按钮:

<h:commandButton value="Submit" action="welcome" />

我创建了一个页面welcome.xhtml

但是当我查看index.xhtml的来源时,我看不到index.xhtml文件到welcome.xhtml文件的任何“链接”,jsf如何从索引传递到欢迎?

当我查看来源时,源页面是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body lang="en">
<form id="j_idt5" name="j_idt5" method="post" action="/Test/index.xhtml" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="j_idt5" value="j_idt5" />
<input type="submit" name="j_idt5:j_idt6" value="Submit" /><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="-5517223312856481273:-1605099621977497303" autocomplete="off" />
</form></body> 
</html>

我真的没有看到“欢迎”的“链接”或动作,在隐藏字段中,我看到ViewState但是当我重新编辑页面时它会自动生成并更改。我也没有看到任何用于加载欢迎页面的JavaScript代码。

在使用<h:link>后,我认为,当第一次,jsf阅读index.xhtml并显示它,提交后按,jsf阅读index.xhtml并获取此按钮的操作并显示欢迎页面。

1 个答案:

答案 0 :(得分:0)

来自Mkyong网站的

- http://www.mkyong.com/jsf2/jsf-2-0-hello-world-example/

在JSF 1.x中,您必须在“faces-config.xml”中声明“导航规则”,以告知单击按钮时要显示的页面。在JSF 2.0中,您可以将页面名称直接放在按钮的“action”属性中。对于简单的导航,这已经足够了,但是,对于复杂的导航,仍然建议您使用“faces-config.xml”中的“导航规则”。

我建议阅读一些JSF 2的教程或购买书籍 - &gt; Give me a JSF 2.0 tutorial