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

struts2 <s:radio> 和 <s:select>标签

2017-12-05 19:35 204 查看
在表单中使用
<s:radio> 和 <s:select>
标签 绑定action属性,查询数据

开始界面如下, 通过提交的数据去对应的action查询



jsp代码,
<s:radio> 和 <s:select>
标签中的 list 表示数据的来源, value表示给定此标签一个默认值, name表示与action中对应的属性

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
<head>

</head>
<%
TreeMap<String ,String> searchType = new TreeMap<String, String>();
searchType.put("男", "男");
searchType.put("女", "女");
request.setAttribute("searchType",searchType);

TreeMap<String ,String> age = new TreeMap<String, String>();
age.put("1","1岁");
age.put("2","2岁");
age.put("3","3岁");
age.put("4","4岁");
age.put("5","5岁");
request.setAttribute("age",age);
%>

<body>
<s:form action="submit.action?">
<s:textfield name="info.name" label="姓名"></s:textfield>
<s:radio
list="#request.searchType" label="性别" value="%{'男'}" name="info.sex">
</s:radio>

<s:select
list="#request.age" label="年龄" value="%{'1'}" name="info.age">
</s:select>

<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>


对应的action类如下, 将结果集放入list,存入request中

public class Action extends ActionSupport{
static TreeMap<String,Info> data = new TreeMap<String, Info>();
Map<Object, Object> request = new TreeMap<Object, Object>();
Info info ;

@Override
public String execute() throws Exception {
System.out.println(info);
ActionContext context = ActionContext.getContext();
request = (Map<Object, Object>) context.get("request");

List<Info> infos = new ArrayList<Info>();

for (Info v : data.values()){
if (v.getName().equals(info.getName()) && v.getAge().equals(info.getAge()) && v.getSex().equals(info.getSex())){
System.out.println(v);
infos.add(v);
}
}
System.out.println(infos.size());
request.put("infos", infos);
return SUCCESS;
}

static{
data.put("1", new Info(1, "张三", "男", 1));
data.put("2", new Info(2, "张三", "男", 1));
data.put("3", new Info(3, "赵四", "男", 2));
data.put("4", new Info(4, "王五", "女", 3));
data.put("5", new Info(5, "六六", "女", 4));
}

public Info getInfo() {
return info;
}

public void setInfo(Info info) {
this.info = info;
}

public Map<Object, Object> getRequest() {
return request;
}

public void setRequest(Map<Object, Object> request) {
this.request = request;
}
}


在SUCCESS jsp页面代码如下, 取出request中的list, 用iterator 标签遍历

<body>
<s:set name="infos" value="#request.infos"></s:set>
<s:iterator status="infosStatus" value="infos">
<s:property value="id"/>
<s:property value="name"/>
<s:property value="sex"/>
<s:property value="age"/><br>
</s:iterator>
</body>


select的属性

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: