我启动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
并获取此按钮的操作并显示欢迎页面。
答案 0 :(得分:0)
- 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