> 웹 프론트엔드 > HTML 튜토리얼 > html에서 으로 변환할 때 선택된 속성에 대한 자세한 설명

html에서 으로 변환할 때 선택된 속성에 대한 자세한 설명

黄舟
풀어 주다: 2017-07-03 10:08:49
원래의
2051명이 탐색했습니다.

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

에는 동시에 표시되는 옵션 수를 나타내는 크기 속성이 있습니다. 위의 예에서 크기는 1이며 한 번에 하나의 옵션만 표시됩니다. 다중 속성도 있습니다. true인 경우 선택 목록에서 다중 선택이 허용됩니다. 사용자는 마우스를 끌거나 Ctrl 키를 누른 채 여러 항목을 선택할 수 있습니다.

다음은 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>
로그인 후 복사

보시다시피 두 사이의 부분은 사용자가 보는 콘텐츠를 나타내는 데 사용됩니다. 물론 의 키 및 번들 속성을 사용하여 사용자가 보는 콘텐츠를 나타내기 위해 리소스 파일의 콘텐츠를 지정할 수도 있습니다. 그 중 번들 및 키 속성의 사용법은 "Configuration File"의 해당 장을 참조하세요.

또 다른 중요한 콘텐츠는 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에서 <html:option></html:option>을 <option></option>으로 변환할 때 선택된 속성에 대한 자세한 설명



위 내용은 html에서 으로 변환할 때 선택된 속성에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿