//为了下一步棋,我苦苦发呆。这一跤,我注定要狠狠的摔。
1.新建一个实体类.
public class Emp implements Serializable{
private Integer empid;
private String empname;
private String pass;
public Integer getEmpid() {
return empid;
}
public void setEmpid(Integer empid) {
this.empid = empid;
}
public String getEmpname() {
return empname;
}
public void setEmpname(String empname) {
this.empname = empname;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
2.在建一个form类
public class EmpForm extends ActionForm{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
3.在建一个action
public class EmpAction extends Action{
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
List<Emp> emps = new ArrayList<Emp>();
for (int i = 0; i < 10; i++) {
Emp emp = new Emp();
emp.setEmpid(i);
emp.setEmpname("name"+i);
emp.setPass("pass"+i);
emps.add(emp);
}
EmpForm empForm = (EmpForm) form;
empForm.setName("name2");
request.setAttribute("emps", emps);
request.setAttribute("form", form);
return mapping.findForward("success");
}
}
struts配置文件:
<struts-config>
<form-beans>
<form-bean name="empForm" type="form.EmpForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/selectEmps" name="empForm" type="action.EmpAction" >
<forward name="success" path="/list.jsp"></forward>
</action>
</action-mappings>
</struts-config>
最后来看一下jsp里面的代码吧.
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="bean" uri="http://jakarta.apache.org/struts/tags-bean" %>
<%@ taglib prefix="logic" uri="http://jakarta.apache.org/struts/tags-logic" %>
<%@ taglib prefix="html" uri="http://jakarta.apache.org/struts/tags-html" %>
<html>
<body>
<html:select property="name" name="form">
<html:options property="empname" collection="emps" labelProperty="empname"/>
</html:select>
</body>
</html>
emps是实体类emp对象的集合,labelProperty="empname"是select中要显示的内容.property="empname"实体对象中的属性.<html:select property="name" name="form"> name是form,property是form中指定的属性.这里struts1会自动和下面options中的property对应,所以不用担心.但是form和emps是必须要放在作用域中的,不然在页面显示不了.
这样就可以体验struts1 的select标签了.讲的不全,有什么不懂的 可以留言,我看到会及时回复.
想要默认选择第几个,在form中对应的属性.后面设置默认值就可以了
public class EmpForm extends ActionForm{
private String name="2";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
或者在get方法里面加 也可以.
分享到:
相关推荐
在Struts中,`html:select`标签是用于创建HTML下拉列表的一个重要元素,特别适用于用户界面中需要选择单一或多个选项的场景。本文将深入探讨`html:select`标签的使用方法及其相关知识点。 首先,我们需要理解`...
在本文中,我们将深入探讨Struts2中`select`标签的三种不同的使用方法,以及如何从Action类动态获取数据填充这些选项。 ### 一、静态定义`select`标签 1. **静态数据**:在简单的场景下,我们可以直接在JSP页面中...
1. **Struts2核心标签库**: - `s:textfield`:用于创建输入字段,与Action中的属性绑定。 - `s:textarea`:生成多行文本输入框。 - `s:checkbox` 和 `s:radio`:用于创建复选框和单选按钮。 - `s:submit`:创建...
Struts1 标签库详解 Struts1 标签库是 Apache Jakarta 的一个著名的开源项目,目标是为构建基于 Java 的 web 应用程序提供一个框架。Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:...
在使用Struts1的标签时,开发者还需要配置struts-config.xml文件,这个配置文件定义了ActionForm、Action、Forward等元素,它们与标签库紧密关联,确保标签能够正确地与应用程序的其他部分交互。例如,`<html:link>`...
除了使用`<s:select>`标签之外,还可以直接利用Struts2的`<s:property>`标签配合原生HTML来实现同样的效果。这种方式相对灵活,但需要手动处理更多细节。 #### 代码示例 ```xml <select class="textrequired" name...
总结一下,Struts2的`select`标签结合Hibernate的使用,使得我们可以轻松地从数据库中动态加载数据,生成下拉列表。这种做法提高了代码的可维护性和用户体验,因为数据可以根据实际情况实时更新。在Spring管理的环境...
下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并从 Action 或值堆栈中取得数据。这些标签可以分为控制标签、数据标签和其他标签。 控制标签用来控制程序的执行,...
除了`<s:textfield>`,Struts2还提供了多种表单标签,如`<s:password>`用于创建密码输入框,`<s:textarea>`用于创建多行文本输入框,`<s:radio>`和`<s:checkbox>`用于创建单选按钮和复选框,以及`<s:select>`用于...
在本文中,我们将深入探讨Struts2.0标签的使用及其源码分析。 一、Struts2.0标签概述 Struts2.0标签库是基于OGNL(Object-Graph Navigation Language)表达式的,它提供了丰富的标签,如`s:property`、`s:textfield`...
- 这个标签类似于Struts1.x中的JavaBean引用,可以用来获取或设置JavaBean的属性。 C. `<s:checkbox>` 和 `<s:checkboxlist>`: - `<s:checkbox>` 用于创建复选框,可以绑定到Action的属性,方便数据收集。 - `...
在实际使用中,结合OGNL表达式语言,Struts2标签可以非常灵活地处理各种复杂情况。例如,我们可以利用OGNL动态地计算条件、访问对象属性等。总的来说,掌握Struts2的标签库对于提高Struts2应用的开发质量和效率至关...
1. **Struts2标签库**: - **s:textfield**: 用于创建输入字段,可以设置属性如name、value、size、maxlength等。 - **s:textarea**: 用于创建多行文本输入框,支持rows和cols属性。 - **s:select**: 创建下拉...
### Struts1.x 标签详解 #### 一、引言 Struts 是 Apache Jakarta 的一个著名开源项目,旨在为构建基于 Java 的 Web 应用程序提供一个强大的框架。Struts 提供了大量的标签来帮助开发者简化开发过程。本文将详细...
1. **Struts标签库介绍** Struts标签库主要分为两个部分:逻辑标签和表单标签。逻辑标签用于处理页面跳转和控制流程,而表单标签则用于显示和处理用户输入的数据。 2. **逻辑标签** - `<logic:iterate>`:用于...
通过`s:i18n`标签,Struts2可以轻松实现页面的国际化,比如`<s:i18n name="myBundle">`,然后在其中使用`s:text key="label.key"`显示翻译后的文本。 七、标签的异常处理 `s:fielderror`和`s:actionerror`标签用于...
在探讨Struts2.0标签库的使用时,我们首先需要了解Struts2.0框架的基本概念及其在MVC架构中的角色。Struts2.0是基于Java的一个开源Web应用框架,它继承了Struts1.x的优点并在此基础上进行了大量的改进和增强。Struts...
这篇博客将深入探讨Struts2中的表单标签及其使用方法。 首先,我们需要理解Struts2表单标签的基本结构。通常,一个表单标签以`<s:form>`开头,并以`</s:form>`结束。它允许我们指定表单的属性,如`action`(表单...
在Struts1.x中,HTML标签库提供了一系列的定制化标签,简化了视图层的开发,比如`html:radio`, `html:checkbox`, `html:multibox`和`html:select`,这些都是用来创建用户交互界面的元素,主要用于处理表单数据的输入...