1.概念の紹介
stust1 html:select、html:optionを含むhtmlタグの使用、詳細は以下の通りです
は、Web ページ上に選択リストを生成するために使用されます。通常、
<html:select property="test String " size="1"> <html:option value="value1">Show Value1</html:option> <html:option value="value2">Show Value2</html:option> <html:option value="value3">Show Value3</html:option> <:html:submit property="submit" value="提交"/> </html:select>
ここで、 property は、選択リストと ActionForm 内の対応するプロパティ名を表します。ユーザーが「送信」をクリックすると、ユーザーが選択したオプションの値がテスト ページに表示されます。コードの実行結果は次のとおりです:
Show Value1 Show Value2 Show Value3
以下は multiple="true" と size="8" の例です
value1 value2 value3 value4 value5 value6 value7 value8 value9 value10
multiple 属性が true の場合、ActionForm の対応する属性は array である必要がありますtype ユーザーが選択した複数の値を同時に割り当てるため。
<html:select property="testString" size="1"> <html:option value="value1">Show Value1</html:option> <html:option value="value2">Show Value2</html:option> <html:option value="value3">Show Value3</html:option> </html:select>
オプションには 2 つの重要な部分があります。 1 つ目はユーザーに表示するコンテンツで、次の方法で指定できます:
<html:option value="value1">Show Value1</html:option>
ご覧のとおり、2 つの
もう 1 つの重要なコンテンツは、ActionForm に渡す値です。これはタグの value 属性によって指定されます。上記の例のように、value の値はそれぞれ value1、value2、value3 です。ユーザーが特定のタグを選択すると、JSP ページはそのタグに対応する値を ActionForm の対応する属性に渡します。
以下は実行中の効果です:
Show Value1 Show Value2 Show Value3
2. 言えない秘密
<html:option></html:option>转化成<option></option>时加了selected属性,RTFSC,看源码 if(selectTag().isMatched(value)) results.append(" selected=\"selected\""); public boolean isMatched(String value) { /* <-MISALIGNED-> */ /* 126*/ if(match == null || value == null) /* <-MISALIGNED-> */ /* 127*/ return false; /* <-MISALIGNED-> */ /* 130*/ for(int i = 0; i < match.length; i++) /* <-MISALIGNED-> */ /* 131*/ if(value.equals(match[i])) /* <-MISALIGNED-> */ /* 132*/ return true; /* <-MISALIGNED-> */ /* 135*/ return false; } if(value != null) {/* 234*/ match = new String[1]; /* 235*/ match[0] = value; } else { /* 238*/ Object bean = TagUtils.getInstance().lookup(super.pageContext, name, null); /* 239*/ if(bean == null) {/* 240*/ JspException e = new JspException(messages.getMessage("getter.bean", name)); /* 243*/ TagUtils.getInstance().saveException(super.pageContext, e); /* 244*/ throw e; } /* 248*/ try { /* <-MISALIGNED-> */ /* 248*/ match = BeanUtils.getArrayProperty(bean, property); //获取form中的select的value值 /* <-MISALIGNED-> */ /* 249*/ if(match == null) /* <-MISALIGNED-> */ /* 250*/ match = new String[0]; } /* 254*/ catch(IllegalAccessException e) { /* <-MISALIGNED-> */ /* 254*/ TagUtils.getInstance().saveException(super.pageContext, e); /* <-MISALIGNED-> */ /* 255*/ throw new JspException(messages.getMessage("getter.access", property, name)); }
3. 未解決の問題、html:option を使用してデフォルトの選択を設定する方法、selected 属性がありません
以上がHTMLの