ConfluenceのプラグインでXWork/WebWork2の仕組みを使ったときのボタンによるAction先の制御
ConfluenceのバンドルしてるXWorkでは、サブミットボタンの名称によるAction先の変更はできないようだ。
なんとなく、
<input type="submit" name="Top_Action" value="トップへ"/>
とすると、Top_Actionに関連付けられたActionになるのかなと思いきや、そうではない。
実際には、2方向しか移動ができないみたい。
- 進む
- キャンセル
この2つのボタンはペアになっていて
#tag("Submit" "theme='aui'")
というVelocityテンプレートタグで一括して設置できる。
で、この2つは実際にはHTMLで
<input id="confirm" class="submit aui-button " name="confirm" value="送信" type="submit"> <input id="cancel" class="aui-button-link aui-button " name="cancel" value="キャンセル" type="submit">
という2つのボタンになる。
cancelというname属性があるElementがあると、(というかそのキーのPOST/GETをあたえると)Action先のExecuteとかValidateはしないで、atlassian-plugin.xml で定義づけられたactionの結果の中でcancelというのに行く。
<result name="cancel" type="velocity">/templates/page/custom.vm</result>
とか。
それ以外だとformタグのAction先に行く。