読者です 読者をやめる 読者になる 読者になる

wicket の DropDownChoice で使う ChoiceRenderer の動きが微妙な気がする

ChoiceRenderer の idExpression を指定した時に
HTML の option には確かに idExpression が指定されるんだけど
戻ってくるのは結局 choice のオブジェクトだって微妙じゃない?


わざわざ idExpression を指定してるんだから idExpression の値が返ってきてほしいんだけど違うの……
だったら idExpression を指定する意味ないじゃんとか思ったんだけど、
これが仕様なのかバグなのか僕の英語力ではわからない><


ちなみにソースで言うと
AbstractSingleSelectChoice クラスの

	protected T convertChoiceIdToChoice(String id)
	{
		final List<? extends T> choices = getChoices();
		final IChoiceRenderer<T> renderer = getChoiceRenderer();
		for (int index = 0; index < choices.size(); index++)
		{
			// Get next choice
			final T choice = choices.get(index);
			if (renderer.getIdValue(choice, index).equals(id))
			{
				return choice;
			}
		}
		return null;
	}

このへん。