JSF2 URL GET参数

时间:2011-09-03 05:23:37

标签: java url jsf-2

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?

PS:我知道有一个术语,但我记不清了......

1 个答案:

答案 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可能就是你需要的一切。