ページに、配置する Panel を作り、Panel の中に、ListView を配置して、
ListView で、フォームフィールドのコンポーネントを用意したときで、ListView の行数が可変の場合、
submit した時、行数を求めるのは、どうしたらいいか悩む。
そこで、考えたのが、、、
getRequestCycle() → getPostParameters() → getParameterNames() → Stream で ListView を探して
インデックスの Max を求める。。。
int listvewSize = getRequestCycle().getRequest().getPostParameters().getParameterNames() .stream() .filter(e->e.startsWith("panel:listview:")) .map(e->e.replace("panel:listview:", "").split(":")[0]) .mapToInt(e->new Integer(e)) .max().orElse(-1) + 1;
これで、ListView が増えたり減ったりした後でもサイズを求めて適切に処理できる。