2016-05-31 3 views
0

Ich habe Probleme, Spring Bean von JSP zu bekommen. Ich habe eine Spring-Bean konfiguriert Anmerkung mit:Erste kommentierte Spring-Bean in Jsp

@Configuration 
public class DefaultServiceConfiguration extends AbstractSpringConfiguration { 

    @Bean 
    public ExService exService() { 
     ExServiceImpl service = new ExServiceImpl(); 
     return service; 
    } 
} 

Und die ExServiceImpl ist wie folgt:

public ExServiceImpl implements ExService { 
    @Override 
    public String getApprove(Integer x) { 
     // ..... 
     return approve; 
    } 
} 

Jetzt habe ich die Bohnen Methode in JSP acccess wollen:

<c:set var="clientApprove" scope="request" value="${ExService .getApprove(1)}"/> 

Aber es funktioniert nicht.

+0

Das wollen Sie nicht. Greifen Sie nicht aus Ihrer Sicht auf Bohnen zu. Verwenden Sie dafür den richtigen MVC, lernen Sie die Dinge richtig. –

+0

Diese Bean existiert im Spring-Kontext, nicht in Ihrem Seitenkontext durchsuchbar. Überlegen Sie übrigens, was @ M.Deinum sagte. –

+0

Hallo @ M.Deinum, ja das verstehe ich. Aber ich habe keinen Zugriff darauf, dass der Controller dort Änderungen hinzufügt. Entweder muss ich den Controller außer Kraft setzen und die Änderungen vornehmen, was schwierig sein wird, da die Controller-Klasse in der Bibliothek ist. Ich schätze, wenn es eine Möglichkeit gibt, es in Jsp .. – Dev

Antwort

-1

Ich denke, wir @Service Anmerkung über dem ExServiceImpl Klasse hinzufügen sollten die Bohne-Service

@Service 
public ExServiceImpl implements ExService { 
} 
+0

Nicht relevant. Er verwendet 'JavaConfig', so dass der' @ Service' nicht benötigt wird. –

0

Was Sie erstellen möchten, überhaupt zu tun ist, nicht ein gutes Design, und Sie sollen es vermeiden.

Aber ich glaube, das wird Ihnen helfen:

@Bean(scope=DefaultScopes.REQUEST, name="myBean") 
public ExService exService() { 
    ExServiceImpl service = new ExServiceImpl(); 
    return service; 
} 

Aber dann die Bohne nicht Singletons sein.