html中<html:option></html:option>转化成<option></option>时加了selected属性的详解

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

一、概念介绍

stust1中html标签的使用,其中有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

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

value1 value2 value3 value4 value5 value6 value7 value8 value9 value10

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

<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页面就会将该标记所对应的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中<html:option></html:option>转化成<option></option>时加了selected属性的详解的详细内容,更多请关注php中文网其它相关文章!

HTML速学教程(入门课程)
HTML速学教程(入门课程)

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

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

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