2011-09-16 10 views
1

Tapestry 4でExternalLinkを拡張することは可能ですか?私が試してみると、私のパラメータのどれもが占領されていないようです。私は、サブクラスで抄録を明示的に再注釈しようとしましたが、それはgetExternalService()のようなものを扱っていません。このことがどのように実際に初期化されたかについての洞察はありますか?Tapestry 4でExternalLinkを拡張する

答えて

0

TapestryのソースからExternalLink.jwcをチェックして、コンポーネントの設定方法を確認してください。 getExternalService()については、.jwcは言う:

<inject property="externalService" object="engine-service:external"/> 

だからあなたがそうのようなアノテーションで同じことを行うことができます:

@InjectObject("engine-service:external") 
public abstract IEngineService getExternalService(); 

あなたがExternalLinkを拡張することができるはずのように見え、私の経験では、T4コンポーネントは必ずしもサブクラス化が容易ではなく、フレームワークは継承を超えて合成を促す傾向があります。より多くの問題が発生した場合は、代わりにExternalLinkをカスタムコンポーネントで囲むほうが簡単でしょうか?私。単一のリンクコンポーネントのみを含む新しいコンポーネントを作成しますか?

関連する問題