您的位置:首页 > 编程语言 > Java开发

Struts2中 s:select 标签相关使用

2017-12-21 22:16 666 查看
本没有想总结这个标签的,感觉也就那样,但是确实这个标签用的太多了,因此还是简单总结一下

这里列举几个常用的属性吧:

1、name:用来作为Action中取值的属性

2、id:可能要做某些取值操作

3、list:在后台或者自定义的一个取值集合

4、listKey:标签的key值,也就是我们后台要获取到的key(一般不会用value来作为条件。)

5、listValue:标签的value值,也就是标签在选择的时候,会显示的具体的一个值的解释(比如地区,key=1 , value=“中国”,那么就会显示“中国”这个在界面上,而看不到1)

6、headerKey:默认的key值,一般设为"",0,或者-1等

7、headerValue:默认的value值,一般设为“请选择”等(自定义就好)

以上就是在s:select标签中常用的几个属性了,接下来就来分析使用下吧:

1、直接在jsp进行定义(不经过后台传值进来的)

[html] view
plain copy

<s:select name="movie" list="#{1:'火影忍者',2:'海贼王',3:'盗墓笔记',4:'银魂'}" listKey="key" listValue="value" headerKey="0" headerValue="请选择"></s:select>  

这样,在后台,我们就能够通过定义:  private String movie; 然后给出get, set方法就能够在Action中获取到movie这个字段的key值;例如:

[java] view
plain copy

public class MovieAction extends BaseAction<Movie> {  

    private String movie;  

          

        public String save() {  

                   // 这里就能够直接获取到movie的值,并直接用movie进行操作  

                   System.out.println(movie);  

        }  

  

        public String getMovie() {  

                   return movie;  

        }  

  

        public void setMovie(String movie) {  

                  this.movie = movie  

        }  

}  

2、首先通过后台来查询到一个list/map集合,然后将该集合传到jsp,在jsp直接用s:select标签来获取list,并显示即可:

[java] view
plain copy

public class MovieAction extends BaseAction<Movie> {  

  

        // 定义接受下拉框的集合,并给出get,set方法  

        List<AppVo> appVos = new ArrayList<AppVo>();   

  

        // 这是跳转到新增页面的方法  

    public String toAdd() throws Exception  

    {  

                // 数据库查询App的一个集合,并保存到集合appVos集合中,并返回,数据库查询为:select appId, name from app (只查询了appId和name两个字段)  

        appVos = appBo.getAppList(appVo);  

        return SUCCESS;  

    }  

  

        public List<AppVo> getAppVos() {  

        return appVos;  

    }  

  

    public void setAppVos(List<AppVo> appVos) {  

        this.appVos = appVos;  

    }  

}  

接下来到jsp页面, 直接用 s:select 标签来获取即可,如下:

[html] view
plain copy

<!-- name为返回后台接收下拉框的变量值;list为后台传过来的集合,直接取即可;listKey为数据库查询的要用来作为key的名称,这里是appId;listValue为下拉框要显示的名称,这里为name;headerKey和headerValue看上面介绍 -->  

<s:select name="appId" list="appVos" listKey="appId" listValue="name" headerKey="" headerValue="请选择"></s:select>  

这样,我们在后台,其实就能够通过利用上面所说的在定义一个appId变量到后台,并给出get,set方法就能够获取到appId属性值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: