設定項目の値をAjaxでチェックする。(解決というか疑うのは自分)
設定項目の値をAjaxでチェックする。の件ですが、悪いのは自分でした。疑ってすんません。> id:kkawa さん
結論から言うと、JavaScriptでURLエンコードする場合、escapeではなくencodeURIComponentを使うと言うことです。
<f:entry title="${%title}" > <f:textbox name="doc.title" value="${doc.title}" checkUrl="'descriptorByName/DocumentLinksPublisher/checkTitle?value='+escape(this.value)"/> </f:entry>
このとき、"Javadocあ"と入力すると、http://XXX/descriptorByName/DocumentLinksPublisher/checkTitle?title=Javadoc%u3042 にアクセスします。
よく見ると、"%u3042"なんてユニコードエスケープされていることに気がつけば、はやっかたのですが。でも、Konquerorでは上手くいくんだよね。
で上記を、
<f:entry title="${%title}" > <f:textbox name="doc.title" value="${doc.title}" checkUrl="'descriptorByName/DocumentLinksPublisher/checkTitle?value='+encodeURIComponent(this.value)"/> </f:entry>
にすると、http://vargain:8000/hudson/job/wicket/descriptorByName/DocumentLinksPublisher/checkTitle?title=Javadoc%E3%81%82 にアクセスして期待した動作になります。
実は、Mantisプラグインでも"escape"を多用しているんですが、日本語使ったことがなかったので、発覚しなかったようです。
週末に修正してリリースします。