因此,我阅读了一些有关 JSF 的内容,并开始考虑创建 Web 应用程序,其中网站描述 XHTML 文档。这些文档连接到特殊的java程序“beans”,它可以在服务器端提供增强的功能,例如数据库或复杂的计算。
如果从链接到命令按钮组件的 XHTML 文档调用 bean 中的方法(这通常发生在用户单击按钮时)并返回字符串 X,这意味着将调用并打开下一个站点(X.xhtml .)
通过这种方式,Web 应用程序可以在不同站点之间切换。现在我一直在想这样合适吗?这种换边方式的优点和缺点是什么?
首先,XHTML 并不总是 JSF,您更愿意在您的情况下谈论 facelets(这可能有助于您更好地进行研究和学习)。否则,一个典型的场景是调用action
a 的属性h:commandLink
or h:commandButton
,由您决定用您认为合适的任何 bean 方法的 String 结果填充该属性。
示例:
<h:commandButton value="submit" type="submit" action="#{yourBean.redirectMethod}" />
redirectMethod
应该返回一个String
包含重定向到某个页面的类型:
public String redirectMethod() {
return "somePage.xhtml?faces-redirect=true";
}
现在我一直在想这合适吗?
以我的经验,是的。
这种换边方式的优点和缺点是什么?
此链接似乎带有一些答案元素:JSF 中的转发与重定向。结论与利弊有关,似乎:“与页面重定向相比,默认页面转发机制更快,因为页面重定向向服务器添加了额外的HTTP请求。 ”
为了做一个简单的forward
,你只需返回redirectMethod
并取下?faces-redirect=true
一段代码,从而得到类似的东西:
public String redirectMethod() {
return "somePage.xhtml";
}
祝你好运 !
PS:从这个开始,真的很有帮助:https ://stackoverflow.com/tags/jsf/info