struts2的 action中得到<s:optiontransferselect/>标签中的内容
关键字: struts2 action <s:optiontransferselect/>
最近用到struts2 <s:optiontransferselect/>标签,要求在action中获取<s:optiontransferselect/>标签中的内容
出现这个问题后,发现确实很难实现,所以就Google了下,但获取答案却不理想
但研究struts2的demo后,发现他们可以正常获取的,所以就研究了下,发现问题其实很简单:
在此,借用下Google时,搜索到的一个问题
Html代码
<s:form action="TestTagLib">
<s:optiontransferselect
label="optiontransferselect Test"
labelposition="top"
list="{'thomas1','ada','lothar'}"
name="leftList"
addToLeftLabel="向左移动"
addToRightLabel="向右移动"
addAllToLeftLabel="left"
addAllToRightLabel="right"
doubleName="rightList"
doubleList="{'Expert One-on-One J2EE Design and Development', 'JavaScript: TDefinGuide'}"
/>
<s:submit value="login"/>
</s:form>
<s:form action="TestTagLib">
<s:optiontransferselect
label="optiontransferselect Test"
labelposition="top"
list="{'thomas1','ada','lothar'}"
name="leftList"
addToLeftLabel="向左移动"
addToRightLabel="向右移动"
addAllToLeftLabel="left"
addAllToRightLabel="right"
doubleName="rightList"
doubleList="{'Expert One-on-One J2EE Design and Development', 'JavaScript: TDefinGuide'}"
/>
<s:submit value="login"/>
</s:form>
然后提交到TestTagLibAction中,在action中设置了setter(),getter()方法,关键代码如下:
private List leftList;
private List rightList;
public List getLeftList() {
return leftList;
}
public void setLeftList(List leftList) {
this.leftList = leftList;
}
public List getRightList() {
return rightList;
}
public void setRightList(List rightList) {
this.rightList = rightList;
}
为什么在execute()方法中得不到 rightList的值? 其中rightList对应前面jsp页面中 <s:optiontransferselect/>的doublename="rightList"标签,代码如下:
List list1=getRightList();
for(int i=0;i <list1.size();i++){
System.out.println(list1.get(i).toString());
}
提交后,就能在后台得到rightList里面的值了。
如果没有这段Js代码,后台是得不到值的,这是Struts2 <s:optiontransferselect/>本身的bug.
呵呵,首先感谢这位兄弟的回答,这样做应该是可以的(ps:我没有测试)
但这不是struts2的bug
问题出在html中的代码上
用firebug监控表单的提交的时候,会获取到一个dojo错误,其实问题很简单:
缺失
Html代码
1. <s:head/>
<s:head/>
这个标签
因在struts2中集成了dojo,所以不导入dojo肯定会出现问题了
呵呵,就这么简单.
非常感谢上面引述的那位兄弟的回答
以上问题的来源地:http://topic.csdn.net/u/20080127/15/4539cf2e-7309-4de8-9289-fa0fe02496b5.html
分享到:
相关推荐
- `<s:form>` 标签是创建表单的基础,其常用属性包括`action`、`method`、`enctype`等。 - 示例: ```xml <s:form action="exampleSubmit" method="post" enctype="multipart/form-data"> <s:submit/> <s:...
在Struts2中,`s:optiontransferselect`是一个特殊的标签,用于创建具有双向选择功能的下拉列表,即“左列表”和“右列表”,用户可以在这两个列表之间转移选项,常用于多选场景。 **1. `s:optiontransferselect` ...
7. <s:autocompleter></s:autocompleter>-----自动完成<s:combobox>标签的内容,这个是ajax B: 1. <s:bean name=""></s:bean>-----类似于struts1.x中的,JavaBean的值 C: 1. <s:checkbox></s:checkbox>---...
* <s:autocompleter>:自动完成 <s:combobox> 标签的内容,这个是 AJAX 实现的 B: * <s:bean>:类似于 Struts1.x 中的 JavaBean 的值 C: * <s:checkbox>:复选框 * <s:checkboxlist>:多选框 * <s:combobox>:...
<p>名称:<s:property value="name"/></p> </s:iterator> ``` - **说明**:遍历一个集合或数组,并对每个元素执行标签体内的内容。 25. **`<s:label>`** - 显示标签。 - **示例**: ```jsp <s:label value=...
2. `<s:action>` - 执行视图中的Action,通常用于导航,如:`<s:action name="myAction" executeResult="true">Execute Action</s:action>`。 **B组标签:** 1. `<s:bean>` - 类似于Struts1中的JavaBean操作,但在...
4. `<s:push>`:将值推入栈中,便于`<s:property>`标签访问。 R组标签: 1. `<s:radio>`:创建单选按钮,允许用户从一组中选择一个选项。 2. `<s:reset>`:重置按钮,清除表单数据。 S组标签: 1. `<s:select>`:...
这些标签用于创建下拉列表和子集选择框,`<s:select>` 创建标准的下拉列表,而 `<s:subset>` 可以从集合中选择子集。 **示例:** ```xml <s:select name="country" list="countries" headerKey="-1" headerValue=...
2. `<s:action>`:执行视图中的一个Action,可以传递参数并跳转到对应的Action结果页面。 3. `<s:actionerror>`:显示Action级错误信息,如果有错误则会被渲染出来。 4. `<s:actionmessage>`:显示Action级消息,...
1. `<s:if test=""></s:if>`、`<s:elseif test=""></s:elseif>`和`<s:else></s:else>`:条件判断标签,用于控制页面的逻辑显示。 F部分: 1. `<s:fielderror></s:fielderror>`:显示字段级别的错误信息。 2. `<s:...
`<s:token>` 用于防止重复提交,`<s:tree>` 创建树形结构,`<s:treenode>` 定义树节点,`<s:updownselect>` 创建可上下选择的多选框,`<s:url>` 生成URL,通常与Action关联。 以上就是Struts标签的基本介绍,它们极...
`<s:form>` 标签用于创建表单,可以指定Action、Method等属性,是Struts2中最常用的标签之一。 ```xml <s:form action="saveData"> <!-- 表单内容 --> </s:form> ``` ### 17. `<s:generator>` 标签 `<s:...
`<s:action>` - 动作标签 该标签用于执行一个Action,并跳转到指定的结果视图。 ```jsp <s:action name="myAction"> <!-- 可以包含其他表单元素 --> </s:action> ``` ##### 3. `<s:actionerror>` - 显示动作错误...
- `<s:actionerror/>`:如果Action中有错误信息,此标签会显示出来。 - `<s:actionmessage/>`:如果Action中有消息,此标签会显示消息。 **C. 复选框和列表** - `<s:checkbox></s:checkbox>`:创建复选框,可以设置...
`<s:action>`标签则是用来执行视图中的一个Action,通常用于页面间的跳转和业务逻辑的触发。 B. `<s:bean>`: 此标签类似于Struts1中的JavaBean引用,用于在JSP页面中引用JavaBean的属性。 C. `<s:checkbox>` 和 `...
`<s:action>` 标签 - **用途**:该标签用于将一个视图中的动作链接到后端的动作处理类。 - **示例**: ```xml <s:action name="myAction" namespace="/myNamespace"> <!-- 其他代码 --> </s:action> ``` ####...
`<s:action>` 执行Action标签 - **用途**:执行一个Action。 - **示例代码**: ```xml <s:action name="myAction" execute="true"/> ``` - **解释**:此标签将执行名为“myAction”的Action。 ##### 3. `<s:...
3. `<s:actionerror/>`:如果Action中的错误信息有值,会将其显示出来,方便用户了解操作过程中出现的问题。 4. `<s:actionmessage/>`:如果Action中的消息有值,会显示出来,通常用于提示用户操作成功的信息。 5....