2010-03-23 4 views
0

에서 actionParam 나는 내 JSP로 이러한 구조를 가지고 : "bill_document"JSF - 2 A4J : 하나 CommandLink는 버그

<h:commandLink action=#{docbean.save}> 
    <a4j:actionParam name="somename" value="bill_all" assignTo="#{billdoc.billType}"/> 
    <a4j:actionParam name="somename" value="bill_document" assignTo="#{docbean.doctype}"/> 
</h:commandLink> 

내가 본 디버깅하는 동안, 그 billdoc.billtype 및 docbean.doctype가 같은 값을 가지고있다.

버그입니까? 그렇지 않다면 어떻게 돈을 내 매니지드 빈에 넣을 수 있습니까?

답을 찾았습니다 :

는 업데이트]

나는 하나의 이름을 가진 두 개의 actionParams했다. ActionParam은 f : actionListener + f : param입니다. 그래서, 하나의 이름을 가진 여러 actionparams를 가지고 있다면, 당신은 내가 가지고있는 문제를 갖게 될 것입니다. RichFaces와 JSF는 그것에 대해 경고하지 않습니다.

답변

3

첫째, 당신이 여기 <a4j:actionParamvalue 공간 필요 - value

둘째 전에를, 당신이 대신 <a4j:actionParam>을 시도 할 수 있습니다 :

<f:setPropertyActionListener value="bill_all" target="#{billdoc.billType}" /> 

당신은 유효성 검사 오류가있는 경우 commandLinkimmediate="true"을 둘 필요가 있습니다 귀하의 양식. 페이지 상단에 <rich:messages />을 추가하여 이러한 오류를 볼 수 있습니다.

+0

로 바꾸려고했지만 아무 일도 발생하지 않았습니다. 양식이 제출되고 내기 동작이 실행되지 않습니다. 내부에서 허용되지 않을 수 있습니까? – Yurish

+0

@Yurish - 허용됩니다. 로그를 확인하고 내 업데이트를 확인하십시오. – Bozho

+0

해결되었습니다. 업데이트 된 게시물보기 – Yurish

0

a4j : commandLink를 사용해보십시오. 아니면 h : commandLink에 충실하면 a4j : actionParams를 a4j : support 태그에 삽입하십시오.