JSF 2.0 - 将视图 ID 转换为 URL

发布于 2024-12-02 05:57:03 字数 219 浏览 0 评论 0原文

我想使用 EL 将视图 ID 转换为 URL。

这样做的目的是使用 html

标记使用 GET 而不是 POST 将表单提交到页面。与 不同,表单的 action 属性需要有一个 URL。

I want to convert a view ID into a URL using EL.

The purpose of doing this is to use an html <form/> tag to submit a form to a page using GET instead of POST. The form's action attribute needs to have a URL, unlike <h:form/>.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泅人 2024-12-09 05:57:03

可以使用#{request.contextPath}动态内联上下文路径:

<form action="#{request.contextPath}/some.xhtml">

如果要提交到当前视图ID,通过#{facesContext.viewRoot.viewId}获取code>:

<form action="#{request.contextPath}#{facesContext.viewRoot.viewId}">

或者如果由于某种原因您没有将 FacesServlet 映射到 *.xhtml 上,或者您不想依赖它的映射并且您的容器支持EL 2.2(或JBoss EL),然后使用 ViewHandler#getActionURL() 改为:

<form action="#{facesContext.application.viewHandler.getActionURL(facesContext, view.viewId)}">

You can use #{request.contextPath} to dynamically inline the context path:

<form action="#{request.contextPath}/some.xhtml">

If you want to submit to the current view ID, get it by #{facesContext.viewRoot.viewId}:

<form action="#{request.contextPath}#{facesContext.viewRoot.viewId}">

Or if you haven't mapped the FacesServlet on *.xhtml for some reason, or you don't want to be dependent on its mapping and your container supports EL 2.2 (or JBoss EL), then use ViewHandler#getActionURL() instead:

<form action="#{facesContext.application.viewHandler.getActionURL(facesContext, view.viewId)}">
弥枳 2024-12-09 05:57:03

这一步通过 servlet 容器从视图 ID 写入出站 URL:

<form action="#{facesContext.application.viewHandler.getBookmarkableURL(facesContext,view.viewId,null,false)}">

This writes the outbound URL from a view ID via the servlet container in a single step:

<form action="#{facesContext.application.viewHandler.getBookmarkableURL(facesContext,view.viewId,null,false)}">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文