首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prettyfaces和Converter不工作

Prettyfaces和Converter不工作
EN

Stack Overflow用户
提问于 2013-02-22 05:45:39
回答 1查看 542关注 0票数 1

在我的web应用程序中,我有一个从String到java.util.LinkedHashMap (反之亦然)的转换器。当我尝试使用Prettyfaces时,我得到了404资源未找到错误。下面是我的设置:

首先,根据这个post,我尝试用来装饰转换器

代码语言:javascript
复制
@FacesConverter(forClass = LinkedHashMap.class)

我还试着添加

代码语言:javascript
复制
<converter>
  <converter-for-class>java.util.LinkedHashMap</converter-for-class>
  <converter-class>util.UrlConverter</converter-class>
</converter>

对我的脸-config,xml。

现在我的pretty-config.xml的相关代码是:

代码语言:javascript
复制
<url-mapping id="details">
<pattern value="/dataset/#{id}" />
<view-id value="/faces/details.xhtml" />
</url-mapping>

URL重写本身是有效的,所以我在URL:http://server.com/appname/dataset//someID结束重要信息:这是我认为可能的问题:我所有的ID都以"/“开头,所以在"/dataset”部分之后总是有两个"/“。如果这是我的问题的原因,那么我该如何重写这些斜杠呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-22 14:14:04

我认为/这个角色才是你问题的真正原因。默认情况下,PrettyFaces使用正则表达式[^/]+来匹配路径参数。因此,如果您的路径参数包含/字符,则映射将不匹配。

您应该为path参数使用自定义正则表达式,如下所述:

http://ocpsoft.org/docs/prettyfaces/3.3.3/en-US/html/Configuration.html#config.pathparams.regex

这意味着像这样的东西应该可以工作:

代码语言:javascript
复制
<url-mapping id="details">
  <pattern value="/dataset/#{ /.+/ id }" />
  <view-id value="/faces/details.xhtml" />
</url-mapping>

另一种选择是将转换器中的/字符替换为其他字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15012830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档