2009-08-12 17 views
1

Versuchen, dieses Problem für zwei Tage ohne Glück zu lösen. Das Problem tritt auf, wenn ich versuche, ein URL-Mapping in recht-config.xml zu definieren, die auf einer Bohne mit Naht erstellt RelaisPrettyfaces mit Seam Bohnen

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

Bohne Quelle:

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; 
    } 
} 

wenn ich definiere diese Bohne in faces-config funktioniert alles wie erwartet.

Irgendeine Idee?

Vielen Dank im Voraus für jede Hilfe.

Antwort

-1

Auschecken JAX-RS. Jersey ist die RI und ich persönlich benutze das Angebot von JBoss (RESTEasy). Mit diesem Framework können Sie das tun, was Sie etwas einfacher machen wollen.

-1

Es soll mit Seam arbeiten, versuchen Sie die Reihenfolge Ihrer Filter in web.xml zu ändern.

Naht tut Bundle UrlRewriteFilter, wenn alles, was Sie suchen, Lesezeichen ist.

2

Dieses spezifische Problem wurde in den Versionen 3.0.1 von PrettyFaces behoben:

Nun, wenn Seam 2.x verwenden, würden Sie die folgende Art der Zuordnung verwenden:

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

Dann würden Sie diese Zugriff auf die Naht @RequestParameter ("paramName") Anmerkung verwenden.

@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; 
    } 
}