基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > Windchill JSP フレームワークを使用した HTML クライアントのカスタマイズ > 属性パネル > ソリューション > ソリューション - JSP タグを使って単純属性パネルを作成する > 手順 - 属性パネルの作成
  
手順 - 属性パネルの作成
パネルを表示する JSP ページを作成します。これは属性パネルのほかに、別のコンポーネントを持つこともできます。次の taglib ディレクティブを JSP ページに追加します。
<%@ taglib uri="http://www.ptc.com/windchill/taglib/components" prefix="jca"%>
属性パネルを記述する
プロパティパネルを記述するには、describePropertyPanel タグと describeProperty タグを使います。
<jca:describePropertyPanel var="<name of the descriptor>">>
<jca:describeProperty id="<attribute name>" />
<jca:describeProperty id="<attribute name>" />
<jca:describeProperty id="<attribute name>" />
</jca:describePropertyPanel>
記述子の名前は、パネルを識別する任意の名前です。これは、パネル記述子オブジェクトを保持する JSP コンテキストで変数名として使用されます。
これらのタグはどちらもオプションの属性を持ち、属性の GUI コンポーネントの作成方法または表示方法を設定できます。詳細については、タグの Javadoc を参照してください。
属性パネルのデータモデルを取得する
getModel タグは、指定されたサービスメソッドを呼び出して、パネルのデータムオブジェクトを取得します。続いてデータユーティリティを呼び出し、データムオブジェクトを使って属性の GUI コンポーネントを作成します。次に例を示します。
<jca:getModel var="<データモデル名>"
descriptor="${<name of the descriptor>}"
serviceName="wt.fc.StandardPersistenceManager"
methodName="refresh">
<jca:addServiceArgument value="${commandBean.primaryOid.oid}"
type="wt.fc.ObjectIdentifier" />
</jca:getModel>
<データモデル名> の値にはモデルに割り当てる任意の名前を指定できます。これは、作成されたデータモデルを保持する JSP コンテキストのスコープ付き変数の名前として使用されます。
<name of the descriptor> の値は、describePropertyPanel タグで使用した名前にする必要があります。
serviceName パラメータと methodName パラメータは、モデルのデータムオブジェクトを取得するときに呼び出すサービスメソッドを指定します。addServiceArgument サブタグは、サービスメソッドにパラメータを渡すときに使用できます。一般に、StandardPersistenceManager.refresh() メソッドは、表示のみパネルの永続可能なデータムオブジェクトを取得するときに使用されます。次に例を示します。
<jca:getModel var="propertyModel" descriptor="${propertyPanelDesc}
"serviceName="wt.fc.StandardPersistenceManager" methodName="refresh">
<jca:addServiceArgument value="${commandBean.primaryOid.oid}
" type="wt.fc.ObjectIdentifier" />
</jca:getModel>
別の方法として、コマンドまたはサービスのクエリメソッドを呼び出して、データムオブジェクトを取得することもできます。
ウィザードパネルのデータムオブジェクトは、一般に TypeInstance です。CreateAndEditModelGetter.getItemAttributes() メソッドを使って、initializeItem タグを含むウィザードの TypeInstance データムオブジェクトを取得できます。例:
<jca:getModel var="attributesTableModel" descriptor="${meetingPanelModel}"
serviceName="com.ptc.core.components.forms.CreateAndEditModelGetter"
methodName="getItemAttributes">
<jca:addServiceArgument value="${ meetingPanelDescriptor }"
type="com.ptc.core.components.descriptor.ComponentDescriptor"/>
<jca:addServiceArgument value="${commandBean}"
type="com.ptc.netmarkets.util.beans.NmCommandBean"/>
<jca:addServiceArgument value="${nmcontext.context}"
type="com.ptc.netmarkets.util.misc.NmContext"/>
</jca:getModel>
詳細については、getModel タグの Javadoc を参照してください。
プロパティパネルをレンダリングする
プロパティパネルをレンダリングするには、renderPropertyPanel タグを使用します。次に例を示します。
<jca:renderPropertyPanel model="${<データモデル名>}"/>
<データモデル名> の値は、getModel タグで使用した名前にする必要があります。