<!---------------begin 以下部分转自http://icemoon.iteye.com/blog/108592------------>
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的名称。
<!----------------------转载结束---------------------------------------------------->
1.页面程序
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>student select list</title>
</head>
<body>
<s:form name="form1" action="stuValueselectActionTest">
<s:select
label="选择学生"
list="liststu"
name="selectStudent"
listKey="userid"
listValue="username"
emptyOption="false"
value="3" //这里的value值对应于listKey中的userid,即为默认值,从数据库中取到某学生的值,赋予value即可
/>
<s:submit/>
</s:form>
</body>
</html>
2. 学生信息基础类 (StudentListTest.java),填充至list中.
package com.shangyu.bean;
public class StudentListTest {
private String username;
private int userid;
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
3.后台程序赋值给list传回前台页面 (StudentSelectActionTest.java)
package com.shangyu.action;
import com.opensymphony.xwork2.ActionSupport;
import com.shangyu.bean.*;
import java.util.*;
public class StudentSelectActionTest extends ActionSupport{
private List liststu;
public List getListstu() {
return liststu;
}
public void setListstu(List liststu) {
this.liststu = liststu;
}
public String execute()
{
List liststu=new ArrayList<StudentListTest>();
StudentListTest stutest=new StudentListTest();
stutest.setUserid(1);
stutest.setUsername("萧峰");
liststu.add(stutest);
stutest=null;
stutest=new StudentListTest();
stutest.setUserid(2);
stutest.setUsername("虚竹");
liststu.add(stutest);
stutest=null;
stutest=new StudentListTest();
stutest.setUserid(3);
stutest.setUsername("段誉");
liststu.add(stutest);
setListstu(liststu);
return SUCCESS;
}
}
4.取值测试的程序(stuValueselectActionTest.java)
package com.shangyu.action;
import com.opensymphony.xwork2.ActionSupport;
public class stuValueselectActionTest extends ActionSupport{
private String selectStudent;
public String getSelectStudent() {
return selectStudent;
}
public void setSelectStudent(String selectStudent) {
this.selectStudent = selectStudent;
}
public String execute()
{
System.out.println(getSelectStudent()); //打印出选择的值
return SUCCESS;
}
}
5. 配置xml
<action name="studentSelectTest" class="com.shangyu.action.StudentSelectActionTest">
<result name="error">/error.jsp</result>
<result name="success">/studentSelectTest.jsp</result>
</action>
<action name="stuValueselectActionTest" class="com.shangyu.action.stuValueselectActionTest">
<result name="error">/error.jsp</result>
<result name="success">/xx.jsp</result>
</action>
转载自:http://blog.csdn.net/shangyu79/archive/2007/09/13/1783473.aspx
分享到:
相关推荐
### `<html:select>`:选择默认值 在Web开发中,`<html:select>`标签是一种常用的表单元素,用于创建下拉列表。这个标签属于Struts标签库的一部分,Struts是一个基于MVC(Model-View-Controller)设计模式的Java ...
Struts2标签经常与OGNL(Object-Graph Navigation Language)表达式一起使用,允许动态访问和操作对象的属性。例如,`s:property value="%{#session.user.name}"`将显示Session中的user对象的name属性值。 **7. ...
在深入探讨Struts2标签库的使用之前,我们先对Struts2框架有一个基本的认识。Struts2是Apache Software Foundation下的一个开源项目,它继承了Struts1的优点,并在此基础上进行了大量的改进,使得Web开发更加高效、...
### Struts2自学文档知识点详解 #### 一、Struts2简介 Struts2是一个用于构建企业级Java Web应用程序的开源框架。它基于MVC(Model-View-Controller)架构模式,提供了一种灵活的方式来组织代码,使得业务逻辑、...
本文将深入探讨Struts2的标签使用,主要分为以下几个部分: 1. **标签库介绍** Struts2的标签库包括核心标签库、展示标签库、逻辑标签库等。核心标签库提供基本的控制结构,如迭代、条件判断等;展示标签库主要...
在开发图书馆管理系统时,Struts2标签的使用至关重要。例如,`<s:form>`可以用来创建图书添加、修改和查询的表单;`<s:iterator>`可以遍历数据库中的图书信息,显示在表格中;`<s:submit>`则用于处理用户提交的请求...
通过查阅这个API,开发者可以找到具体标签的详细信息,以便更高效地使用Struts2框架。 **5. 结合实际应用** 在实际开发中,Struts2标签可以与OGNL(Object-Graph Navigation Language)表达式一起使用,实现动态数据...
### Struts2 标签使用详解 #### 一、引言 在Web开发领域,Struts2框架以其灵活且强大的特性被广泛采用。Struts2提供了丰富的标签库,这些标签不仅可以帮助开发者简化页面代码,还能提高项目的可维护性和扩展性。...
Struts2标签库是Java Web开发中的一个强大工具,它为开发者提供了丰富的UI组件和控制逻辑,极大地简化了视图层的代码编写。Struts2框架的标签库基于OGNL(Object-Graph Navigation Language)表达式语言,使得在JSP...
本篇文章将详细介绍在Struts2中如何使用`s:select`标签,以及通过几个具体例子来展示其用法。 1. 第一个例子: ```jsp <s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:...
5. **使用Struts2标签的优点** - 提高可读性和可维护性:标签使得代码更清晰,降低了视图层与业务逻辑的耦合。 - 动态数据绑定:通过OGNL表达式,可以方便地访问和操作模型对象的属性。 - 强大的表单处理能力:...
4. **JSP页面**:在JSP页面上,我们可以使用Struts2的标签库,如`s:select`,来创建下拉菜单。第一个下拉菜单的选项应由顶级分类填充,第二个下拉菜单的选项则依赖于第一个下拉菜单的选择,通过JavaScript或jQuery...
本文将深入探讨Struts2标签的使用,以帮助你更好地理解和应用这些标签。 1. **简介** Struts2标签库分为多个部分,包括控制标签、数据标签、UI标签等。它们主要设计用于简化页面的构建,减少Java脚本的使用,提高...
在开发Struts2项目时,可以使用EditPlus编写和调试JSP页面,它的代码高亮和自动完成功能对理解Struts2标签的使用非常有帮助。 6. **实践应用**: 在实际项目中,通过Struts2标签,我们可以轻松实现用户界面的动态...
通过深入理解和熟练使用Struts2标签,开发者可以写出更简洁、更易维护的代码,提高开发效率。在实际项目中,结合Struts2的拦截器、结果类型、国际化等功能,可以构建出健壮、灵活的web应用程序。
例如,Struts 2的`s:textfield`、`s:password`等标签,不仅继承了Struts 1的功能,还增加了更多特性,如OGNL表达式支持、动态属性等。 总结来说,Struts的HTML标签库是开发Java Web应用的重要工具,它简化了表单...
Struts2的UI标签还支持其他一些功能,如验证(通过`<s:fielderror>`和`<s:errors>`展示错误信息)、国际化(使用`<s:text>`和`s:resourcebundle`处理多语言)和主题样式(通过`cssClass`属性应用样式)。此外,...
总而言之,Struts2的几种选择标签包括`<s:checkbox>`, `<s:radio>`, `<s:select>`, `<s:checkboxlist>`, 和 `<s:radiolist>`,它们为开发人员提供了处理表单选择元素的强大工具。通过理解这些标签的用法和属性,你...
### Struts2 入门:Struts2 标签详解 #### 1. `<s:textfield>` — 文本框输入标签 - **用途**:用于创建一个文本输入框,允许用户输入单行文本。 - **示例用法**: ```xml ``` 在此例中,“userBean.name”是...