Jscolorコンポーネントを使用したJSFでの次の動作に役立つことを誰か教えてもらえますか?
この単純な xhtml コードを取得しました。
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>RDFa test</title>
</h:head>
<h:body>
<script type="text/javascript" src="resources/js/jscolor/jscolor.js"/>
<h:form>
<h:commandButton class="color" value="ok"/>
<h:commandButton value="server" type="submit" action="#{testBean.tmp}"/>
</h:form>
</h:body>
</html>
TestBean.java:
@ManagedBean
@SessionScoped
public class TestBean implements Serializable {
public TestBean() {}
public void tmp() {
System.out.println("SERVER!");
}
}
最初のデプロイを行って「サーバー」ボタンをクリックすると、Jscolor が消えて機能しなくなります (ページ上の JavaScript を破壊するようなものです)。次にページをリロードして同じボタンをクリックすると、Jscolor は正常に動作します。サーバーログに例外はなく、Firebug JS コンソールにもエラーはありません。これはどのように発生し、どうすれば解決できますか?
編集: この問題に悩まされている開発者は私だけではありません。ここで tyhand が正確に説明しています。
何が起こっているのか、それを解決する方法を教えてください。