2012-02-27 9 views
0

誰かが自分のコードで問題を見つけられるでしょうか?アクションdeleteInfectionLinkが呼び出されますが、最初にプロパティーinfectionLinkToDeleteを設定する必要があります。しかし、これは決して呼び出されません。a4j:actionparam assignToが実行されない

<rich:contextMenu attachTo="#{barmodel.id}" event="oncontextmenu" submitMode="ajax" style="z-index:9999;"> 
     <rich:menuGroup value="#{messages['iov.delete_link_with']}"> 
      <rich:menuItem submitMode="server"> 
       <a4j:repeat value="#{barmodel.infection.infectionsSinglemedicationhistories.toArray()}" var="infLink"> 
        <a4j:commandLink ajaxSingle="true" immediate="true" action="#{historyLinkController.deleteInfectionLink()}"> 
         <a4j:actionparam assignTo="#{historyLinkController.infectionLinkToDelete}" name="linkToDelete" value="#{infLink.id}" /> 
         <h:outputText value="#{infLink.singlemedicationhistory.startDate}" > 
          <f:convertDateTime pattern="MM/dd "/> 
         </h:outputText> 
         <h:outputText value="#{infLink.singlemedicationhistory.name}" /> 
        </a4j:commandLink><br /> 
       </a4j:repeat> 
      </rich:menuItem> 
     </rich:menuGroup> 
</<rich:contextMenu> 

プロパティinfLink.idは、以下のクラスのオブジェクト

@Embeddable 
public class InfectionsSinglemedicationhistoryId 
    implements 
     java.io.Serializable { 

    private long infectionid; 
    private long therapyid; 

    //getters and setters 
} 

答えて

1

あるごactionParamが割り当てられていない理由、私はわからないんだけど、それだけでdeleteInfectionLink()を変更する方が簡単かもしれませんinfectionidの値を削除する:

<a4j:commandLink ajaxSingle="true" immediate="true" action="#{historyLinkController.deleteInfectionLink(infLink.id)}"> 
     <h:outputText value="#{infLink.singlemedicationhistory.startDate}" > 
       <f:convertDateTime pattern="MM/dd "/> 
     </h:outputText> 
     <h:outputText value="#{infLink.singlemedicationhistory.name}" /> 
</a4j:commandLink> 
+0

Thanks Mike!それは実際にそのように動作します! – gadeynebram

関連する問題