Prettyfaces с фасолью Seam

Два дня безуспешно пытался решить эту проблему. Проблема возникает, когда я пытаюсь определить сопоставление URL-адресов в pretty-config.xml, которое передает bean-компонент, созданный с помощью Seam.

<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, все работает как положено.

Любая идея ?

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


person Community    schedule 12.08.2009    source источник


Ответы (4)


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

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

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

Затем вы получите доступ к этому, используя аннотацию Seam @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;
    } 
}
person Lincoln    schedule 28.07.2010

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

person Lincoln    schedule 03.11.2009

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

person Drew    schedule 12.08.2009

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

Seam объединяет UrlRewriteFilter, если все, что вам нужно, это добавить в закладки.

person Damo    schedule 13.08.2009