第一次用 commandLink commandButton传递参数总是出现问题,后来查资料发现reRender,需要用这个参数渲染到当前的pageBlock部分代码如下。
<div id = "cvExperienceDiv">
<apex:form >
<apex:pageBlock title="" id="cvExperience">
<apex:pageMessages />
<apex:pageblockSection columns="1">
<apex:pageBlockTable title="" var="acc" value="{!cvExperienceList}">
<apex:column headerValue="{!action}" style="width:100px; text-align:center;" headerClass="centertext">
<apex:commandLink value="{!deletea}" id="commanddelete" rendered="{!acc.editFlag == false}" action="{!deleteRow}">
<apex:param id="deletecvExperienceId" name="deletecvExperienceId" value="{!acc.cvExperience.Id}"/>
</apex:commandLink>
<apex:commandLink value="{!edit}" id="commandedit" rendered="{!acc.editFlag == false}" action="{!edit}">
<apex:param id="cvExperienceId" name="cvExperienceId" value="{!acc.cvExperience.Id}"/>
</apex:commandLink>
<apex:commandButton value="{!save}" id="commandsave" action="{!save}" rendered="{!acc.editFlag == true}" reRender="cvExperience">
<apex:param id="savecvExperienceId" name="savecvExperienceId" value="{!acc.cvExperience.Id}"/>
</apex:commandButton>
<apex:commandButton value="{!cancle}" action="{!cancle}" id="commandcancle" rendered="{!acc.editFlag == true}" reRender="cvExperience" immediate="true">
<apex:param id="cancelcvExperienceId" name="cancelcvExperienceId" value="{!acc.cvExperience.Id}"/>
</apex:commandButton>
接受参数的方式
String saveproductId = Apexpages.currentPage().getParameters().get('savecvExperienceId');