2009-08-12 1 views
1

Попытка решить эту проблему в течение двух дней без везения. Проблема происходит, когда я пытаюсь определить URL-отображение в довольно-config.xml, что ретранслировать на бобе, созданный с SeamPrettyfaces with Seam beans

<url-mapping id="test"> 
    <pattern>/test/#{testBean.param}</pattern> 
    <view-id>/test.faces</view-id> 
</url-mapping> 

источник фасоли:

package com.web.jsfbean; 

import org.jboss.seam.ScopeType; 
import org.jboss.seam.annotations.Create; 
import org.jboss.seam.annotations.Name; 
import org.jboss.seam.annotations.Scope; 

@Name("testBean") 
@Scope(ScopeType.CONVERSATION) 
public class Test { 
    private String param; 

    @Create 
    public void init() { 
     param = "initialized"; 
    } 

    public String getParam() { 
     return param; 
    } 

    public void setParam(String param) { 
     this.param = param; 
    } 
} 

если я определить этот компонент в faces-config все работает так, как ожидалось.

Любая идея?

Заранее благодарим за любую помощь.

ответ

-1

Проверьте JAX-RS. Джерси - это RI, и я лично использую предложение JBoss (RESTEasy.). Эта структура позволит вам делать то, что вы хотите сделать немного проще.

-1

Предполагается работать с Seam, попробуйте изменить порядок ваших фильтров в web.xml.

Seam do bundle UrlRewriteFilter если все, что вам нужно, это закладок.

0

В чем проблема, которую вы испытываете? Я заинтригован этим. PrettyFaces должен работать с Seam. Попробуйте отправить свой вопрос на группе пользователей: http://groups.google.com/group/prettyfaces-users

2

Этот конкретный вопрос был зафиксирован в версиях 3.0.1 из PrettyFaces:

Теперь при использовании Seam 2.x, вы могли бы использовать следующий тип отображения:

<url-mapping id="test"> 
     <pattern>/test/#{ paramName }</pattern> 
     <view-id>/test.faces</view-id> 
</url-mapping> 

Тогда вы сможете получить доступ с помощью этого шва @RequestParameter ("ParamName") аннотаций.

@Name("testBean") @Scope(ScopeType.CONVERSATION) public class Test { 

    @RequestParameter("paramName") 
    private String param; 

    @Create 
    public void init() { 
     param = "initialized"; 
    } 

    public String getParam() { 
     return param; 
    } 

    public void setParam(String param) { 
     this.param = param; 
    } 
}