<html:option></html:option>转化成<option></option>时加了selected属性
2016-03-08 11:52
435 查看
一、概念介绍
stust1中html标签的使用,其中有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: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中对应的属性应是一个数组类型以便同时向其赋上用户选中的多个值。
<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属性
stust1中html标签的使用,其中有html:select,html:option,详情如下
<html:select>
<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: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中对应的属性应是一个数组类型以便同时向其赋上用户选中的多个值。
<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属性
相关文章推荐
- 在Windows 8.1的IE 11中屏蔽双击放大功能
- Apple官网研究之使用Justify布局导航
- 通过Mootools 1.2来操纵HTML DOM元素
- WEB标准网页布局中尽量不要使用的HTML标签
- Flash 与 html 的一些实用技巧
- html工作中表格<tbody>标签的使用技巧
- HTML 向 XHTML1.0 兼容性指导
- C#自写的一个HTML解析类(类似XElement语法)
- Lua编程示例(一):select、debug、可变参数、table操作、error
- 没有文件大小限制并免费的PDF到HTML转换工具
- SQL学习笔记三 select语句的各种形式小结
- 一条select语句引起的瓶颈问题思考
- SQL Select语句完整的执行顺序
- mysql SELECT语句去除某个字段的重复信息
- 点击按钮后 文本框变为Select下拉列表框
- JavaScript与HTML结合的基本使用方法整理
- css实现气泡框效果(实例加图解)
- html链接与文本标签们
- html活用软字符连接符