我什么时候应该使用<h:outputLink>而不是<h:commandLink>?
我知道a commandLink生成一个HTTP帖子; 我猜这outputLink将产生HTTP获取.也就是说,我读过的大多数JSF教程材料都是commandLink(几乎?)使用的.
上下文:我正在实现一个小的演示项目,它显示了一个到用户页面的标题链接,就像Stack Overflow的......

......我不确定commandLink(可能是?faces-redirect=true用于书签)还是outputLink正确的选择.
在JSF 2中,h:button和之间有什么区别h:commandButton?
一直试着学习JSF,有时候我看到的URL *.jsf有时是*.xhtml或者/faces/*.请问有人填写我的知识吗?当我使用Facelet创建JSF时,文件扩展名是.xhtml,所以.jsfURL扩展来自哪里?
我正在学习JSF,当我意识到每当我们使用时<h:form>,JSF的标准行为总是向我显示浏览器中上一页的URL ,而不是当前页面的URL,我感到非常惊讶和困惑.
我知道这与JSF总是将表单发布到同一页面的方式有关,然后只是呈现控制器将其返回给浏览器的任何页面,而浏览器不知道页面位置已更改.
似乎JSF已经存在了足够长的时间,必须有一个干净,可靠的方法来处理这个问题.如果是这样,你介意分享吗?
我找到了各种解决方法,但遗憾的是,这似乎不是一个真正可靠的解决方案.
"?faces-redirect=true"到每个 bean的操作的返回值然后
@RequestScoped用其他东西替换(Flash Scopes,CDI对话,@ SessionScoped,......).如果它"?faces-redirect=true"是如此好,有没有办法配置整个应用程序以这种方式处理所有请求?
当一些文件在子文件夹中时,我对如何在Java Server Faces项目中的文件之间进行链接感到困惑.(我打算附上截图,以便您可以看到Nebeans项目视图,以及我正在尝试的示例的文件视图......但我还不允许添加图像).
我的示例项目我有"index.xhtml"和"calculate/calculate.xhtml"文件.我还有一个名为"template.xhtml"的文件,两者都使用.问题是在模板中使用哪种url格式将适用于这两个文件.
在直接的HTML中我会使用类似下面的内容来提供一个返回主页的链接,该链接可以在任何位置工作:
<a href="/index.html">Home</a>
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚什么算作JSF应用程序的根文件夹,以及是否使用"项目视图"文件夹结构或"文件列表"文件夹结构.
jsf ×5
jsf-2 ×3
navigation ×2
url ×2
button ×1
facelets ×1
hyperlink ×1
redirect ×1
url-pattern ×1
web.xml ×1