JSF2很容易通过这个注释来处理GET请求:
<f:metadata>
<f:viewParam name="id" value="#{bean.id}"/>
<f:viewParam name="name" value="#{bean.name}"/>
<f:event type="preRenderView" listener="#{bean.init}" />
</f:metadata>
和我的bean中的init方法:
public void init(ComponentSystemEvent e) throws AbortProcessingException {...}
可以通过test.jsf?id=8012&name=name
之类的方式访问。是否可以像REST中的@PathParam
一样使用它并写下test/8012/name
之类的URL?
答案 0 :(得分:3)
实现此目标的最简单方法是使用PrettyFaces。您将创建一个pretty-config.xml
文件,如下所示:
<url-mapping id="test">
<pattern value="/test/#{id}/#{name}"/>
<view-id value="/faces/test.jsf"/>
</url-mapping>
真的,这很简单。 PF会将路径参数注入您的托管bean,如果您愿意,甚至可以在之后调用操作。我喜欢它。 :) The official documentation可能就是你需要的一切。