3

ColdFusion 10でColdBoxを使用しています。setView()で id=1000 という引数を渡したかったのです。パラメータが渡されている例は見つかりませんでした。

コードは次のとおりです。

component {
// Dependency Injection
property name="requestService" inject="RequestService";

function index(event, rc, prc) {        
    var response = requestService.save(rc);

    if(response.Success EQ true) {
        event.setView(view="requests/success"); //Want to pass a param(int)
    } else {
        event.setView("requests/failure");
    }
  }
}
4

2 に答える 2

5

ハンドラーからビューに値を渡すには、主に 2 つの方法があります。

1 つ目は、「prc」と呼ばれる構造体としてハンドラーで使用できるプライベート リクエスト コレクションに値を配置することです。ビューには、同じ「prc」構造体が利用可能です。このリクエスト コレクションは、リクエスト全体と、そのリクエストに対して実行されるすべてのレイアウトまたはビューで使用できます。

ハンドラーで

prc.id = 1000;
event.setView( view="requests/success" );

あなたの見解では

<cfoutput>#prc.id#</cfoutput>

特にそのビューでのみ値を使用できるようにする、よりカプセル化されたアプローチが必要な場合は、「args」パラメーターを event.setView() に使用し、構造体のビューで使用可能になる値の構造体を渡すことができます。 「引数」と呼ばれます。

ハンドラーで

event.setView( view="requests/success", args={ id = 1000 } );

あなたの見解では

<cfoutput>#args.id#</cfoutput>
于 2014-06-18T18:44:54.650 に答える
1

PRCにセットするだけです。

prc.foo = 1000

ビューを設定すると、レンダリングするビューをレイアウトに伝えます。ビューは、設定前に定義された任意の RC または PRC 変数を参照できます。ビューレットと同じでrenderView()、その前に変数を定義するか、いくつかの引数 (構造体) を引数として定義します。

#renderView(view='forms/universal',args={type='new',action='user.create'})#

ここで、別のイベントに転送する場合、次のイベントに存在させたい値を保持する必要があります。

于 2014-06-18T18:28:23.350 に答える