かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

VisualWebPackで不可解な動き

VisualWebPackのファイルアップロードコンポーネントのあやしい挙動にはまった。
画面に置いただけで動作が変わってしまう。

再現手順
1)適当なプロジェクトをこさえて下のような画面を作る


2)JSPに下のように同じnameのinputタグをいっぱい書く

<input name="hoge" type="hidden" value="1"/>
<input name="hoge" type="hidden" value="2"/>
<input name="hoge" type="hidden" value="3"/>


3)ボタンのクリックのアクションでHttpServletRequestからhogeのvalueを画面に表示させるコードを書く。

public String button1_action() {
    HttpServletRequest req = (HttpServletRequest) getExternalContext().getRequest();
    String[] values = req.getParameterValues("hoge");
    for (String value : values) {
        info(value);
    }
    return null;
}


4)実行してボタンを押す(ここまでは予想通り)


5)画面にファイルアップロードコンポーネントを置く


6)実行してボタンを押す

何か足りなくね?