2010-03-16 14 views

답변

21

JSP를 사용하면서 JSF 1.x를 사용하고 있다고 가정합니다.

는 쿼리 매개 변수와 링크를 생성 h:outputLink f:param와 함께 사용하려면

<h:outputLink value="page.jsf"> 
    <f:param name="param1" value="value1" /> 
    <f:param name="param2" value="value2" /> 
</h:outputLink> 

value는 EL의 도움으로 동적으로 설정 될 수있다. 자동적으로 관리 빈에서 설정할 수

, 당신은 faces-config.xmlmanaged-property 각을 정의해야

<managed-bean> 
    <managed-bean-name>bean</managed-bean-name> 
    <managed-bean-class>com.example.Bean</managed-bean-class> 
    <managed-bean-scope>request</managed-bean-scope> 
    <managed-property> 
     <property-name>param1</property-name> 
     <value>#{param.param1}</value> 
    </managed-property> 
    <managed-property> 
     <property-name>param2</property-name> 
     <value>#{param.param2}</value> 
    </managed-property> 
</managed-bean> 

imlicit EL 변수 #{param}는 요청 매개 변수지도를 참조하면 서블릿 API에서 그것을 알고있다. 물론 bean은 이미 param1param2 속성을 가지고 있어야하며 적절한 getters/setter가 정의되어 있어야합니다.

당신이 그들이 설정되어 있습니다 직후 일부 로직을 실행 @PostConstruct 주석을 사용하고 싶습니다 경우 : JSF에서 주변에 전달하는 매개 변수에 대한 자세한 힌트를

@PostConstruct 
public void init() { 
    doSomethingWith(param1, param2); 
} 

물건의 종류, 당신 이 유용 할 수 있습니다.

JSF 2.x 접근법은 backing bean 클래스에서 @ManagedProperty 또는 대상보기에서 <f:viewParam>을 사용합니다. 이 질문을보십시오 : ViewParam vs @ManagedProperty(value = "#{param.id}")

+0

위대한! 감사!! – Ben

+0

반갑습니다. – BalusC

관련 문제