2011-03-04 3 views
0

JSP 페이지에서 태그를 사용하여 컨트롤러 메소드를 호출 할 수 있는지 궁금해했습니다. JSF에서 수행 한 방식과 조금 다릅니다.SpEL 및 eval을 사용하여 컨트롤러 메소드 호출

내 컨트롤러

@Controller(value="planesController") 
@RequestMapping({"/planes"}) 
public class PlanesController { 

    @Autowired 
    private PlanesDAO planesDAO; 

    public List<Plane> allPlanes(){ 

     return planesDAO.getAll(); 
} 

내 JSP

<sf:form> 
    <s:eval expression="planesController.allPlanes()" var="planes" /> 

    <sf:checkboxes items="${planes}" path="planes" id="avions"/> 

</sf:form> 

나는 예외가 계속 : 내가 아는

org.springframework.expression.spel.SpelEvaluationException: EL1007E:(pos 0): Field or property 'planesController' cannot be found on null 

을 model.addAttribute를 사용할 수는 있지만 여러 JSP 페이지에서이 메서드를 호출하면 태그 중 하나가 뷰에서 Bean에 액세스 할 수 있다고 생각했습니다. 나는 봄을 사전보기 통화 컨트롤러 코드를 분들께

+0

답변은 [forum] (http://forum.springsource.org/showthread.php?104736-Using-SpEL-and-eval-to-call-a-controller-method)에서 제공되었습니다 :'< s : eval expression = "@ planesController.allPlanes()"var = "평면"/>'. –

답변

0

에서 3.0.5

감사를 사용하고

그것이 작동 여부에 상관없이 경우, 그냥 일반 잘못된 것입니다. 이것은 MVC입니다.

서비스를 작성하여 해당 서비스에 대한 액세스 권한을 부여하지만 MVC를 위반하는 것이 더 좋을 것입니다. 컨트롤러에서 이러한 호출을 모두 처음 수행하고 결과 호출 된 모델을 뷰에 전달하는 것이 더 좋을 것입니다.

+0

Humm 나는 악의적 인 습관을 취했다는 것을 나는 생각한다. .. 감사합니다. – ufasoli