1. 컨셉 소개
stust1 html:select, html:option을 포함한 html 태그의 사용방법은 다음과 같습니다
는 웹페이지에서 선택 목록을 생성하는 데 사용됩니다. 일반적으로
<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의 해당 속성은 배열이어야 합니다. 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>
옵션에는 두 가지 중요한 부분이 있습니다. 첫 번째는 사용자에게 표시되는 콘텐츠이며 다음과 같은 방식으로 지정할 수 있습니다.
<html:option value="value1">Show Value1</html:option>
보시다시피 두
또 다른 중요한 콘텐츠는 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에서