html中转化成时加了selected属性的详解

黄舟
发布: 2017-07-03 10:08:49
原创
2404人浏览过

一、概念介绍

stust1中html标签的使用,其中有html:select,html:option,详情如下

<html:select>

<html:select>用来在网页上产生选择列表。通常它与<html:option>等选项标记连用。示例代码如下:

<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

<html:select>有一个size属性,它表示同时显示的选项的数目,如上例中的size为1,则只同时显示一个选项。还有一个multiple属性,当其为true时,该选择列表就允许多选。用户可以通过鼠标的拖动,或是按住Ctrl键进行多选。

以下是multiple="true"和size="8"例子

value1 value2 value3 value4 value5 value6 value7 value8 value9 value10

当multiple属性为true时,在ActionForm中对应的属性应是一个数组类型以便同时向其赋上用户选中的多个值。

度加剪辑
度加剪辑

度加剪辑(原度咔剪辑),百度旗下AI创作工具

度加剪辑 63
查看详情 度加剪辑

<html:option>

<html:option>标记是<html:select>标记的选项,每个<html:option>将在选择框中代表一个选项。有如下代码所示:

<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>
登录后复制

可以看出,使用两个<html:option>间的部分来表示用户所见到的内容。当然,也可以使用<html:option> 所带的key和bundle等属性用来指定所在资源文件中的内容,以此来表示用户所见到的内容。其中,bundle和key属性的用法请参看"配置文件"相关章节。

另一个重要的内容就是它所传递给ActionForm的值。这是由标记的value属性指定的。如上面的例子中,value的值分别为 value1,value2和value3,当用户选中某个标记时,JSP页面就会将该标记所对应的value传给ActionForm中相应的属性。

以下是运行效果:

Show Value1 Show Value2 Show Value3
登录后复制

二、不能不说的秘密

<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));
                    }
登录后复制

三、没有解决的问题,用html:option怎么设置默认选中,其中没有selected属性疑问



以上就是html中转化成时加了selected属性的详解的详细内容,更多请关注php中文网其它相关文章!

相关标签:
HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号