私は jsf 1.1 (richfaces 3.1.6) から 2.0 (richfaces 4.3.4) に移行中です。richfaces 4.3.4 でいくつかの問題に遭遇しましたが、まったく理解できませんでした。私が抱えている問題をよりよく説明するために、次の test.xhtml を作成しました。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>My Account - View Device(s)</title>
<script type="text/javascript" src="redesign/scripts/jquery.js?v=1.7.2"></script>
<script type="text/javascript" src="redesign/scripts/jquery.filter_input.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$('#testForm:\\numField').filter_input({regex:'[0-9]'});
});
//]]>
</script>
</h:head>
<h:body>
<h:form id="testForm">
<h:outputText value="User ID: " /><h:inputText id="numField" value="#{testBean.userID}"/>
<h:commandLink action="#{testBean.updateUserID}" value="myfaces CommandButton"/>
<h:outputText value=" | " />
<a4j:commandLink reRender="testForm" value="A4J Command Link" action="#{testBean.updateUserID }" />
</h:form>
</h:body>
</html>
以下は、この test.xhtml で見られる問題です。
1) 「a4j:commandLink」タグが test.xhtml ページに存在する場合、すべての jquery プラグインの読み込みに失敗しました (この場合、$("#testForm\:numField").filter_input の取得は関数エラーではありません)。この test.xhtml ページから「a4j:commandLink」タグを削除すると、すべてのプラグインが正常に動作します。
2) 「a4j:commandLink」をクリックすると、次のエラーが表示されます。同じアクションにバインドする「h:commandLink」は問題なく機能します。
助けていただければ幸いです。