次の要素を拡張したい:
<h:commandButton action="#{menuController.xyz}" value="xyz"
image="images/buttons/xyz.png" alt="xyz".....[more attributes]..../>
押されたボタンを生成するコードを含めるには:
<h:commandButton action="#{menuController.xyz}" value="xyz"
image="images/buttons/xyz.png" alt="xyz"
onmousedown="[some JS here to change image src]"
.....[more attributes]..../>
これを行う最も適切な方法は JSF コンポーネントを使用することだと理解していますか? そこで、以下を作成しました。
<!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"
xmlns:composite="http://java.sun.com/jsf/composite">
<head>
<title>Not present in rendered output</title>
</head>
<body>
<composite:interface>
<composite:attribute name="depressImage" required="false" />
</composite:interface>
<composite:implementation>
<h:commandButton onmousedown="[some JS here to change the img src to the value of #{cc.attrs.depressImage}]" />
</composite:implementation>
</body>
</html>
私の質問は、可能なすべての属性を入力してELをマップする必要なしに、それらを自動的に入力する方法がありますか(たとえば、コマンドボタンのアクションと値など)?