大家對<s:checkboxlist/>的最大的疑問可能是:“如何在默認情況下,选中某些checkbox?”
答案其實很簡單,只需要將其“value”屬性設為你的要选中的值,如以代碼所示:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Struts 2 Cool Tags - <s:checkboxlist/ ></title>
<s:head />
</head>
<body>
<h2><s:checkboxlist/></h2>
<s:form action="Store" >
<s:checkboxlist name="skills1"
label="Skills 1"
list="{ 'Java', '.Net', 'RoR', 'PHP' }"
value="{ 'Java', '.Net' }" />
<s:checkboxlist name="skills2"
label="Skills 2"
list="#{ 1:'Java', 2: '.Net', 3: 'RoR', 4: 'PHP' }"
listKey="key"
listValue="value"
value="{ 1, 2, 3 }"/>
</s:form>
</body>
</html>
当自己通过Action把值传入 value时确总是选不中?
解决办法。把要传入Value的字符传转换为 数组 传入到Value里就好了
<s:bean name="com.action.IndexMerchant"
id="f">
<s:param name="id" value="${merchant.merchantId}"></s:param>
</s:bean>
<s:checkboxlist name="m" list="#f.tasteClasses" listKey="id"
listValue="name" value="#f.tasteClassesByMerchantId"></s:checkboxlist>
这个value里有值要对应listKey的值(listValue是显示出来的值)。
<s:doubleselect />
大家看Struts 2的showcase的例子,<s:doubleselect />的用法如下所示:
<s:doubleselect
tooltip="Choose Your State"
label="State"
name="region" list="{'North', 'South'}"
value="'South'"
doubleValue="'Florida'"
doubleList="top == 'North' ? {'Oregon', 'Washington'} : {'Texas', 'Florida'}"
doubleName="state"
headerKey="-1"
headerValue="---------- Please Select ----------"
emptyOption="true" />
很多朋友問:“上面的‘list’屬性只有兩個值,如果我有三個或更多的值,‘doublelist’屬性應該如何設定呢?”
我建議的做法是先定義一個Map類型的對象,鍵為“list”的集合,值則為“doubleList”的集合,然後“doubleList”的OGNL寫成“#myMap[top]”,如以下代碼所示:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Struts 2 Cool Tags - <s:doubeselect/ ></title>
<s:head />
</head>
<body>
<h2><s:doubleselect/></h2>
<s:form action="Store" >
<s:set name="foobar"
value="#{'Java': {'Spring', 'Hibernate', 'Struts 2'}, '.Net': {'Linq', ' ASP.NET 2.0'}, 'Database': {'Oracle', 'SQL Server', 'DB2', 'MySQL'}}" />
<s:doubleselect list="#foobar.keySet()"
doubleName="technology"
doubleList="#foobar[top]"
label="Technology" />
</s:form>
</body>
</html>
分享到:
相关推荐
本文将深入探讨如何巧妙地处理`checkboxlist`的默认选中值以及实现换行显示。 首先,我们需要创建一个数据实体类来封装复选框的选项。例如,`CheckboxBean`类,包含`id`和`name`两个属性,分别代表复选框的唯一标识...
本文将详细介绍如何利用Struts的`<s:checkboxlist>` 标签实现默认选中某些选项以及如何在显示时自动换行。 #### 二、CheckboxBean实体类设计 为了更好地理解`<s:checkboxlist>` 标签的使用,我们首先定义一个简单...
5. **标签嵌套**:`s:checkbox`可能与其他Struts2标签或者HTML元素一起使用,如`s:checkboxlist`。在这些组合中,可能出现位置、间距等显示问题。检查并修正嵌套结构,确保正确渲染。 6. **JavaScript和jQuery插件*...
- **标签声明**:在JSP页面中,使用`<s:checkboxlist>`标签来声明CheckboxList。例如: ```jsp <s:checkboxlist list="options" name="selectedOptions"/> ``` 其中,`list`属性指定选项列表,可以是Action类的...
开发者常常困惑于如何在 `<s:checkboxlist/>` 中默认选中某些复选框。解决这一问题的方法非常简单,只需将 `value` 属性设置为你希望选中的值即可。 **示例代码**: ```xml ; charset=utf-8" pageEncoding="utf-8" ...
12. `<s:checkboxlist>`:复选框列表,如`<s:checkboxlist name="interests" label="Interests" list="{ 'hibernate', 'spring', 'struts2' }">`,`list`属性指定可选项列表。 13. `<s:if>`, `<s:elseif>`, `<s:...
在这里,`list`属性是一个Map对象,`listKey`和`listValue`分别对应Map中的键和值,`value`则指定默认选中的键。 在实际应用中,应避免直接通过`.jsp` URL访问包含这些标签的页面,而是应该通过Action来驱动页面...
<s:checkboxlist name="interests" list="{'Java', 'Python', 'JavaScript'}" /> ``` 这会根据列表中的元素自动生成复选框,用户选中的值也会自动存入`interests`字段。 在描述中提到的博客链接(由于实际无法访问...
<s:checkboxlist name="user.hobbies" list="%{#session.hobbies}"/> ``` 这里的`list`是一个预定义的列表,`name`表示后台接收的数组名。这种写法减少了代码量,但无法为每个选项添加单独的标签,可能不适合需要...
- `<s:checkboxlist list=""></s:checkboxlist>`:创建多个复选框,列表数据来源于指定的属性。 - `<s:combobox list=""></s:combobox>`:创建下拉选择框,列表项来自指定的属性。 **D. 日期和调试** - `<s:date/>`...
12. `<s:checkboxlist>`:创建复选框列表,`name`属性定义Bean属性,`list`属性用于绑定选项列表,`value`属性设置默认选中的项。 13. `<s:if>`, `<s:elseif>`, `<s:else>`:条件判断标签,用于根据表达式的值执行...
若需设置默认选中项,可以添加`value`属性。 5. `<s:url>` 和 `<s:a>`: 分别用于创建URL链接和超链接。`<s:url>`定义URL,`<s:a>`则创建超链接,两者结合使用,如`<s:url id="link" action="userAction"/><s:a href...
9. `<s:checkboxlist>`:与`s:checkbox`类似,但用于创建复选框列表,用户可以多选。`list`属性定义可选的选项列表,可以通过静态数组或从请求或会话中获取的数据。 10. `<s:component>`:这个标签用于使用自定义...
12. `<s:checkboxlist>`:用于生成多个复选框,`name`属性指定Bean的属性,`list`属性定义选项列表,同样支持默认选中。 13. `<s:if>`, `<s:elseif>`, `<s:else>`:条件判断标签,基于OGNL表达式进行逻辑判断,如`...
12. `<s:checkboxlist>`:创建一组复选框,`list`属性用于设置可选值,`value`属性用于设置默认选中项。 13. `<s:if>`, `<s:elseif>`, `<s:else>`:条件判断标签,类似Java的if-else语句,`test`属性用于指定判断...
- `<s:checkboxlist>`和`s:radiolist`:创建多个复选框或单选按钮的列表。 - `<s:file>`:用于文件上传,通常与`<s:form>`的enctype属性配合使用。 - **非表单UI标签**: - `<s:url>`和`s:a>`:创建链接,`<s:...
5. `<s:select>` 用于创建下拉列表,list属性定义选项,value属性指定默认选中项,还可以设置emptyOption、headerKey和headerValue等属性。 示例: ```jsp <s:select tooltip="Choose user_type" label="" list...
12. `<s:checkboxlist>`:生成一组复选框,`list`属性定义选项集合,`value`用于设置默认选中的值。 13. `<s:if>`, `<s:elseif>`, `<s:else>`:条件判断标签,用于根据表达式的值执行不同的逻辑。`test`属性是一个...