先日のTinyMceBehavior は、IHeaderResponse.renderJavascriptReference でなくて
IHeaderContributor で、IHeaderResponse を render する方法も
検討すべきだ。
import org.apache.wicket.Response;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.util.string.JavascriptUtils;
/**
* Tiny-MCE ビヘビア
*/
public class TinyMceBehavior extends AbstractDefaultAjaxBehavior {
private static final long serialVersionUID = 1L;
boolean ajax;
public TinyMceBehavior(boolean ajax){
this.ajax = ajax;
}
@Override
public void renderHead(IHeaderResponse response){
super.renderHead(response);
// Tiny-MCE JavaScript path
// ↓これをやめて、
//response.renderJavascriptReference("js/tinymce/tiny_mce.js");
// ↓ JAR ファイルにJavaScript を入れて、同じパスにこのクラスもある場合
IHeaderContributor ih = JavascriptPackageResource.getHeaderContribution(
TinyMceBehavior.class,"tiny_mce.js");
ih.renderHead(response);
// initialize tinyMCE
StringBuilder initBuilder = new StringBuilder();
initBuilder.append("tinyMCE.init({\n")
.append("theme: \"advanced\",\n")
//======== 以降、この前と同じ。。。
}