admin 管理员组文章数量: 1086019
2024年3月6日发(作者:c语言return 0什么意思)
struts2的select标签中,常用的有以下几个属性:
(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。
(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey,
headerValue,这样就可以通过了
其中,即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。注意,headerKey不可以为空,不可以为-1
(3)list 属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的 option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。
(4)listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option。
(5)name属性:即是表单中select的名称。
< !----------------------转载结束---------------------------------------------------->
对于下拉框在项目中不可避免的会遇到从后台取值然后赋给下拉框显示出来,由于刚刚接触struts2时间不是很久,对于struts2的标签并不是很熟悉,导致被显示默认值的小问题困扰了好久。开始用headerKey和headerValue来显示,但需要修改在将下拉框中默认的值传回后台时发现它传的是headerValue,由于headerKey里没法动态取值,导致没法用这对搭档来满足我的需求。于是乎找到了下面的解决方案,拿出来共享,希望能给初学者带来帮助。
<%@ page language="java" import=".*" pageEncoding="UTF-8"%>
< %@ taglib prefix="s" uri="/struts-tags" %>
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
< html>
label="选择学生" list="liststu" name="selectStudent" listKey="userid" listValue="username" emptyOption="false" value="3" //这里的value值对应于listKey中的userid,即为默认值,从数据库中取到某学生的值,赋予value即可 /> 见我另外的博客:/admin/blogs/1775105 Html代码 <s:select list="" name="" value="" headerKey="" headerValue="" listKey="" listValue="" /> (1)其中 list是必须具备的属性 list中可以存储map list set类型的数据 list 属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的 option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。 (2)如果list为空headKey 和headValue不能为空.listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option (3)name属性:即是表单中select的名称。 下面具体解释下各个属性的含义。 headerValue : 默认值value headerKey : 默认name list : 源数据 (可以在action方法里从数据库获取list) name : 被选数据存放的位置(这里我方在对象obj的属性值userName中<需在action中定义该对象>) listKey : 下拉选项的name listValue : 下拉选项的value value : 默认值 1.第一个例子: Html代码 <s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00">s:select> 2.第二个例子: Html代码 <s:select list="#{1:'aa',2:'bb',3:'cc'}" label="abc" listKey="key" listValue="value" headerKey="0" headerValue="aabb"> 3.第三个例子: Html代码 <% p map = new HashMap(); (1,"aaa"); (2,"bbb"); (3,"ccc"); ribute("map",map); ribute("aa","2"); %> <s:select list="#" label="abc" listKey="key" listValue="value" value="#" headerKey="0" headerValue="aabb"> s:select > headerKey headerValue 为设置缺省值 4.第四个例子 Java代码 public class Program implements Serializable { private static final long serialVersionUID = 1L; private int programid; private String programName; public int getProgramid() { return programid; } public void setProgramid(int programid) { mid = programid; } public String getProgramName() { return programName; } public void setProgramName(String programName) { mName = programName; } } 在 xxx extends extends ActionSupport { private List programs ; public List getPrograms() { return programs; } public void setPrograms(List programs) { ms = programs; } } Html代码 在jsp页面 <s:select list="programs " listValue="programName " listKey="programid " name="program" id="program" headerKey="0l" headerValue=" " value="mid " >s:select> list的值为在action里面的list,listValue的值为 value对应bean里面的字段programName listKey的值为 Html代码 如果可以在jsp页面上写死的话,可以如下: <s:select list="#{1:'男',2:'女'}" listKey="key" listValue="value" value="2" /> 该代码运行结果:默认显示的是“女”。 如果默认项是从后台传到前台的,可以如下: jsp: <s:select list="#{'1':'男','2':'女'}" name="sex"/> action: private String sex; sex属性有get/set方法。 在业务方法中设置sex = "2";select会默认选中。
版权声明:本文标题:select默认值 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1709714265a543826.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论