Apex,Visualforce:Visualforce→Apexへの値渡し

1 min読了の目安(約1200字TECH技術記事

概要

VisualforceでボタンクリックとかしたらApex側で何か処理をしたい。
処理のためにApexへ値を渡したい。
そんなときに役立つやつ。

解説

<apex:param name="name" value="value"/>
apex:paramで渡す値を定義する

System.currentPageReference().getParameters().get('name');
currentPageReference.getParametersで取得する

サンプルソース

ソース:Apexクラス

public with sharing class CommondButtonParameterController {
    
    public void doClick() {
        String parameter = System.currentPageReference().getParameters().get('parameter');
        ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO, parameter));
    }

}

ソース:Visualforce

<apex:page Controller="CommondButtonParameterController">
    <apex:sectionHeader title="Horce.com" subTitle="サンプル" />
    <apex:form id="formId">
        <apex:pageBlock >
            <apex:commandButton value="Click!" action="{!doClick}" rerender="formId">
                <apex:param name="parameter" value="クリックされましたー"/>
            </apex:commandButton>
        </apex:pageBlock>
        <apex:pageMessages />
    </apex:form>
</apex:page>

画面

クリック前

クリック後

memo

Horce.comに誰か気づくかな…