庆贺党的生日!
一、
在Struts中<html:checkbox>和<html:mutlibox>都可以生成checkbox标签。<html:checkbox>
比较简单在此就不介绍了。与<html:checkbox>相比<html:mutlibox>更具体灵活性。
<html:mutlibox>有两种使用方式:
1.使用数组方式:
在Form中定义一个要显示的标签的数组和一个值的数组并提供相应的get、set方法。
private String[] values ;
private String[] labels = { "标签1", "标签2", "标签3", "标签4", "标签5" };
在JSP页面的中代码:
<logic:iterate id="lab" name="multiboxForm" property="labels">
<html:multibox property="values">
<bean:write name="lab" />
</html:multibox>
<bean:write name='lab' />
<br>
</logic:iterate>
values的值如果没有给定,页面加载的时候则不选中任何项,设定值后则会选中相应的项。
2.使用org.apache.struts.util.LabelValueBean方式:
在Form中定义一个装载标签、标签对应值的集合和一个用户选定值的数组并提供相应的get、set方法。
private String[] values ;
private ArrayList labelCollection;
定义一个组装标签和标签对应值的方法。此处使用了static方法,可根据实现情况使用非静态方法。
public static ArrayList getValues(String fileName) throws Exception {
//可通过.properties或数组的方式来组装数据,此处使用.properties方式来实现更具灵活性。
Properties prop = new Properties();
//如果使用非static方法此处为:prop.load(this.getClass().getResourceAsStream(fileName));
prop.load(VO.class.getResourceAsStream(fileName));
Enumeration enums = prop.propertyNames();
String key = null;
ArrayList list = new ArrayList();
while (enums.hasMoreElements()) {
key = (String) enums.nextElement();
list.add(new LabelValueBean(prop.getProperty(key), key));
}
return list;
}
得到list后,可为form中的lableCollection属性赋值.setCamCollection(list)。
在JSP页面的中代码:
<logic:iterate id="lab" name="multiboxForm" property="labelCollection">
<html:multibox property="values">
<bean:write name="lab" property="value" />
</html:multibox>
<bean:write name="lab" property="label" />
<br>
</logic:iterate>
values的值如果没有给定,页面加载的时候则不选中任何项,设定值后则会选中相应的项。
最后强调一点,就是在Form的reset方法中要将其复位,否者checkbox不能正常工作。如果是使用动态Form则必须在reset方法中调用initialize(mapping)方法。因为DynaActionForm类中reset方法是个空方法没有实现体,所以必须定义一个DynaActionForm类的子类来复写reset方法。
二、
<html:options>与<html:optionCollection>都是用来生成一组<html:option>的标签,后者比前者更具灵活性。
<html:select name='FormName' property='propertyName'>
<html:optionsCollection property='CollectionName'/>
</html:select>
此处CollectionName为装载了标签和值的集合。与<html:multibox>标签一样,要正确使用必须在reset方法中将CollectionName置空。
分享到:
相关推荐
<html:select property="selectedItem"> <html:option value="Option1">Option 1</html:option> <html:option value="Option2">Option 2</html:option> <html:option value="Option3">Option 3</html:option> </...
与HTML的`<form>`标签不同,`<html:form>`的`action`属性需要指定一个Struts的动作(Action),这个动作必须在`struts-config.xml`配置文件中定义。否则,页面在尝试提交时会抛出异常,导致JSP页面无法正常工作。...
- **功能**:配合`<html:select>`使用,定义下拉列表中的选项。 - **示例**: ```xml <html:select property="city"> <html:option value="北京">北京</html:option> <html:option value="上海">上海</...
表单相关的标签,如`<html:form>`、`<html:text>`、`<html:password>`、`<html:textarea>`、`<html:hidden>`、`<html:radio>`、`<html:checkbox>`、`<html:multibox>`、`<html:select>`、`<html:submit>`、`...
其次,HTML Tags库则包含了用于创建Struts输入表单的标签,如`<html:base>`, `<html:cancel>`, `<html:select>`, `<html:checkbox>`, `<html:radio>`, `<html:multibox>`, `<html:link>`, `<html:errors>`, `...
2. `<html:checkbox>`和`<html:multibox>`:用于创建复选框。`name`属性指定了ActionForm Bean,`property`则定义了请求参数名,这些参数在表单提交时用于标识选中的复选框。 3. `<html:hidden>`:创建隐藏字段,常...
- `<html:multibox>`:生成多选框。 - `<html:radio>`:生成单选按钮。 - `<html:select>`:生成下拉列表。 - `<html:option>`:生成选项。 - `<html:options>`:生成多个选项。 - `<html:optionsCollection>`:从...
虽然也是复选框,但与`<html:checkbox>`不同,`<html:multibox>`的`property`映射到一个数组类型的ActionForm属性,允许用户选择多个值: ```html 上网<html:multibox property="hobbies" value="上网" /> 旅游...
此外,Struts标签库还包括`<html:option>`和`<html:optionsCollection>`等标签,它们分别用于在`<html:select>`中定义选项,以及从集合或列表中动态生成选项。 总结来说,Struts标签极大地简化了JSP页面的编写,...
这段代码展示了如何使用`<html:form>`创建一个表单,以及如何使用`<html:text>`、`<html:password>`、`<html:radio>`和`<html:select>`等标签来构建不同的表单元素。此外,通过设置`property`属性,可以实现表单数据...
这些标签包括`<html:base>`、`<html:cancel>`、`<html:select>`、`<html:checkbox>`、`<html:radio>`、`<html:multibox>`、`<html:link>`、`<html:errors>`、`<html:javascript>`、`<html:xhtml>`等。例如,`...
3. Select(下拉列表):`<html:select>`标签创建了一个下拉列表,通过`<html:option>`子标签定义各个选项。用户的选择会被封装到ActionForm对象中,然后在Action类中处理。 4. Multibox(多选框列表):`...
此外,Struts标签库还包含了用于创建多选框(html:multibox)、单选按钮(html:radio)和选择列表(html:select)及其选项(html:option)的标签,这些标签帮助开发者在页面上生成这些表单元素,并绑定到相应的数据模型上。...
- `<html:checkbox>`和`<html:multibox>`:用于创建复选框。`name`属性同样表示ActionForm Bean的名字,`property`定义了请求参数名,控制复选框的状态。 - `<html:hidden>`:创建隐藏字段,`name`和`property`属性...
- `<html:select>` 生成下拉选择列表。 - `<html:link>` 生成超链接。通过`action`、`forward`、`href`或`page`属性指定URL,同时可以使用`paramId`和`paramProperty`添加动态参数,`module`属性指定操作所在的...
本文详细介绍了Struts框架中的一些核心概念和技术点,包括FormBean的数据传递、数组和集合的迭代展示、动态生成带有参数的HTML链接、使用`<html:select>`和`<html:multibox>`创建交互式控件等。通过这些技术点的学习...
<html:multibox name="sxForm" property="zu" value="ȸ" styleId="mm">ȸ</html:multibox> <html:multibox name="sxForm" property="zu" value="" styleId="mm"></html:multibox> ``` #### 验证脚本: ```...
<html:multibox property="hobbies" value="sports"/> <html:multibox property="hobbies" value="music"/> ``` #### 五、Logic Tags详解 - **logic:iterate** `logic:iterate`标签用于遍历集合或数组。 ...
`html:select`标签用于创建HTML的`<select>`下拉列表,通常配合`html:option`标签一起使用。基本语法如下: ```jsp <html:select property="propertyName"> <html:option value="optionValue1">Option Text 1</...
在HTML中,单选按钮通常用`<input type="radio">`表示,但在Struts1.x中,`html:radio`提供了更便捷的方式来绑定后台的ActionForm属性。通过设置`property`属性,可以将选定的值与ActionForm中的某个字段关联。如果...