私は Salesforce1 (Aura プラットフォーム) に取り組んでいます。クライアント側 (javascript) からサーバー側のコントローラー (Apex コード) に値を渡そうとしています。setParams();
JavaScript での使用とApex での@key
アノテーションを使用してみましたが、Apex@key
ではサポートされていません。
前もって感謝します。
ここでサンプルコードを提供しています...
アプリケーションコード:
<aura:application>
<PlumQ:example/>
</aura:application>
コンポーネントコード:
<aura:component model="PlumQ.ExampleServerSideController">
<aura:attribute name="firstName" type="String" default="HELLO worlD"/>
<ui:inputtext label="Name" aura:id="id1" value="{!v.firstName}" placeholder = "enter name" />
<ui:button label="Native Aura Button" press="{!c.echo}"/>
</aura:component>
**クライアント側コントローラー(JAVASCRIPT):**
({
"echo" : function(component) {
alert('in client-Side-process');
var b =component.get("v.firstName");
alert('firstnaaaaame:::::::::::::'+b);
var a = component.get("m.serverEcho");
alert('After ServerSide Process');
a.setParams({ firstName : component.get("v.firstName") });
a.setCallback(this, function(action) {
if (action.getState() === "ERROR") {
alert("Server Error: " + action.getError()[0].message);
}
else{
alert("From server: " + action.getReturnValue());
}
});
$A.enqueueAction(a);
} })
サーバー側コントローラー (APEX クラス):
public class ExampleServerSideController {
@AuraEnabled
public static String serverEcho(@Key("firstName") String firstName){
System.out.println("In Example Trival controllerrrrr"+firstName);
return ("From server: " +firstName);
}
}