我想使用EL将视图ID转换为URL.
这样做的目的是使用html <form/>标签将表单提交到页面GET而不是使用POST.与此不同,表单的action属性需要有一个URL <h:form/>.
您可以使用#{request.contextPath}动态内联上下文路径:
<form action="#{request.contextPath}/some.xhtml">
Run Code Online (Sandbox Code Playgroud)
如果要提交到当前视图ID,请通过#{facesContext.viewRoot.viewId}以下方式获取:
<form action="#{request.contextPath}#{facesContext.viewRoot.viewId}">
Run Code Online (Sandbox Code Playgroud)
或者如果由于某种原因没有映射FacesServleton *.xhtml,或者你不想依赖它的映射而你的容器支持EL 2.2(或JBoss EL),那么请ViewHandler#getActionURL()改用:
<form action="#{facesContext.application.viewHandler.getActionURL(facesContext, view.viewId)}">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4587 次 |
| 最近记录: |