質問
私は本当にどこから始めれば分からないので、私は多くのタペストリーの経験を持っていません。
私が挿入されているものに与えられたCSSクラスを適用する新しいコンポーネント、NewInsertを言う、とInsertコンポーネントを拡張する必要があります。私はこれをどのようにしたらよいでしょうか?
私は基本的に<span class="myClass">The value</span>
のようなものを生成し、何かで終わるしたい。
なぜ挿入を拡張することによってそれを行いますか?アプリケーションはほとんど行われますが、我々はどこでも我々は、このCSSクラスを必要とするインサートを使用することを実現しているので。私達はちょうど世界のすべてのファイルに持つ「タイプ= 『挿入』>」「タイプ= 『NewInsert』>」に置き換えやるます。
解決
私は挿入のrenderComponent
メソッドをオーバーライドしなければならなかったかったものを達成するために。これは、タペストリー4.0.2がsetStyleClass
メソッドを持っていないだけであるためです。これは、基本的には、
if (!cycle.isRewinding()) {
Object value = getValue();
if (value != null) {
String styleClass;
String insert = null;
Format format = getFormat();
if (format == null) {
insert = value.toString();
}
else {
insert = format.format(value);
}
styleClass = getStyleClass();
if (styleClass == null) {
/* No classes specified */
styleClass = MY_CLASS;
}
else {
/* Append the preserveWhiteSpace class to the string listing the style classes. */
styleClass += " " + MY_CLASS;
}
if (styleClass != null) {
writer.begin("span");
writer.attribute("class", styleClass);
renderInformalParameters(writer, cycle);
}
writer.print(insert, getRaw());
if (styleClass != null) {
/* </span> */
writer.end();
}
}
}
}
私たちはsetStyleClass方法は、我々だけで行っている可能性がある場合は、
setStyleClass(MY_CLASS);
super.renderComponent;
他のヒント
なぜオーバーライド挿入しますか?なぜあなた自身のInsertSpanコンポーネントを作成しませんか?ただ、カットアンドペーストして自由に感じる...挿入のためのソースを見て、あなたはそれがどのように単純な参照してくださいよ、それはオープンソースです。
いっそのこと、5をタペストリーにアップグレードに見えます。タペストリー4のものは積極的に約4年間に開発されていない。
所属していません StackOverflow