- 浏览: 378132 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (225)
- java (76)
- English (2)
- office (2)
- 架构设计 (1)
- 人在职场 (3)
- database (21)
- C# (18)
- 向往的院校 (0)
- C++ (1)
- AJAX (1)
- 操作系统 (8)
- eclipse (1)
- Spring (0)
- Linux (1)
- Javascript (6)
- 离散 (0)
- 协议 (1)
- sql server (5)
- sql server (0)
- fdf (0)
- xml (1)
- sql语句里top和distinct一起用 (1)
- 正则表达式 (7)
- 表达 (1)
- ms server (1)
- SWFObject (0)
- 线程 (2)
- Java线程 (0)
- Android & SQLite (0)
- Android (0)
- window.XMLHttpRequest (0)
- DB pool (0)
- tomcat内存溢出设置JAVA_OPTS (1)
- java bcp (1)
- 文件系统转换 (1)
- Microsoft XMLDom (1)
- tree (0)
- C# installer (0)
- 对付http cc攻击 (0)
- Ckeditor (0)
- MyEclipse (0)
- PDM (0)
- PDM OOM (0)
- asp.net (0)
- tomcat (1)
- Tomcat session (1)
- jdk (0)
- Bootstrap (0)
最新评论
-
kenail:
格式太乱了。
转 使用WebService压缩传输的心得 -
存在即为合理:
写得好乱,但是还是谢谢你的驱动
JDBC连接SQL server 2005 驱动 -
guji528:
长见识了,谢谢分享!
TL1协议(正文信息收集整理来源Internet) -
王大人:
Js window confirm()方法及其使用 -
Eastman:
SqlServer附加数据库出错,错误代码5123
转自 出家如初,成佛有余
有时候需要在两个Select框中双向挪动数据,此种在Struts2叫OptionTransferSelect,效果如下:
1. Action层
TransferSelect.java
package com.mobilesoft.esales.webapp.action;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.log4j.Logger;
public class TransferSelect extends BaseAction {
private static final Logger logger = Logger.getLogger(DoubleListAction.class);
String[] leftRoles;
String[] rightRoles;
public String execute(){
return SUCCESS;
}
public String transferSelect(){
ArrayList<Roles> leftList=new ArrayList<Roles> ();
Roles leftRoles1=new Roles();
leftRoles1.setRoleId(1);
leftRoles1.setRoleName("角色1");
Roles leftRoles2=new Roles();
leftRoles2.setRoleId(2);
leftRoles2.setRoleName("角色2");
Roles leftRoles3=new Roles();
leftRoles3.setRoleId(3);
leftRoles3.setRoleName("角色3");
Roles leftRoles4=new Roles();
leftRoles4.setRoleId(4);
leftRoles4.setRoleName("角色4");
leftList.add(leftRoles1);
leftList.add(leftRoles2);
leftList.add(leftRoles3);
leftList.add(leftRoles4);
ArrayList<Roles> rightList=new ArrayList();
Roles rightRoles1=new Roles();
rightRoles1.setRoleId(1);
rightRoles1.setRoleName("角色5");
Roles rightRoles2=new Roles();
rightRoles2.setRoleId(2);
rightRoles2.setRoleName("角色6");
Roles rightRoles3=new Roles();
rightRoles3.setRoleId(3);
rightRoles3.setRoleName("角色7");
Roles rightRoles4=new Roles();
rightRoles4.setRoleId(4);
rightRoles4.setRoleName("角色8");
rightList.add(rightRoles1);
rightList.add(rightRoles2);
rightList.add(rightRoles3);
rightList.add(rightRoles4);
getRequest().setAttribute("rightList", rightList);
getRequest().setAttribute("leftList", leftList);
return SUCCESS;
}
public String transferSelectPost(){
Map map=getRequest().getParameterMap();
Set set=map.entrySet();
Iterator iterator=set.iterator();
while(iterator.hasNext()){
Map.Entry mapEntry=(Map.Entry)iterator.next();
if(mapEntry.getValue() instanceof String[]){
String[] selectValues=(String[])mapEntry.getValue();
for(int i=0;i<selectValues.length;i++){
logger.fatal("For map test,The key is: "+mapEntry.getKey()+",value is :"+selectValues[i]);
}
}
}
for(int i=0;i<leftRoles.length;i++){
logger.fatal("For Array test,The leftRoles roleName is: "+leftRoles[i]);
}
for(int i=0;i<rightRoles.length;i++){
logger.fatal("For Array test,The rightRoles roleName is: "+rightRoles[i]);
}
getRequest().setAttribute("map", map);
return SUCCESS;
}
public void setLeftRoles(String[] leftRoles) {
this.leftRoles = leftRoles;
}
public void setRightRoles(String[] rightRoles) {
this.rightRoles = rightRoles;
}
}
Roles.java
package com.mobilesoft.esales.webapp.action;
public class Roles {
private Integer roleId;
private String roleName;
public Roles(){
}
public Integer getRoleId() {
return roleId;
}
public void setRoleId(Integer roleId) {
this.roleId = roleId;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
}
2. Web层
transferselect.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" errorPage="/error.jsp" pageEncoding="GBK" contentType="text/html;charset=GBK" %>
<html>
<head>
<title>Struts 2 Cool Tags - OptionTransferSelect</title>
<s:head theme="ajax"/>
</head>
<body>
<h2>用户角色授权</h2>
<s:form action="transferSelectPost" name="form1" >
<s:optiontransferselect
label="测试-Action数据"
name="leftRoles"
leftTitle="用户已授权角色"
list="#request.leftList"
listKey="roleId"
listValue="roleName"
multiple="true"
headerKey="headerKey"
headerValue="--- 请选择用户角色 ---"
emptyOption="false"
allowUpDownOnLeft="false"
cssStyle="width:200px;height:300px;"
rightTitle="用户未授权的角色"
doubleList="#request.rightList"
doubleListKey="roleId"
doubleListValue="roleName"
doubleName="rightRoles"
doubleHeaderKey="doubleHeaderKey"
doubleHeaderValue="--- 请选择用户角色 ---"
doubleEmptyOption="false"
doubleMultiple="true"
allowUpDownOnRight="false"
doubleCssStyle="width:200px;height:300px;"
/>
<s:submit align="left"/>
</s:form>
</body>
</html>
transferselectpost.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" errorPage="/error.jsp" pageEncoding="GBK" contentType="text/html;charset=GBK" %>
<html>
<head>
<title>Struts 2 Cool Tags - OptionTransferSelect</title>
<s:head />
</head>
<body>
<h2>选择结果</h2>
<s:form action="transferSelect" name="form1" >
<s:iterator value="#request.map" status="mystatus">
<tr>
<td>
<s:property value="key" />:<s:property value="value" />,
</td>
</tr>
</s:iterator>
<s:submit align="left"/>
</s:form>
</body>
</html>
3. struts.xml
<action name="transferSelect" method="transferSelect"
<result name="success">test/transferselect.jsp</result>
</action>
<action name="transferSelectPost" method="transferSelectPost"
<result name="success">test/transferselectpost.jsp</result>
</action>
jsp中的<s:optiontransferselect />标签已正常显示使用
<s:optiontransferselect tooltip="用户权限" label="设置权限" name="mhPopedom.leftList_1" leftTitle="用户未授权限" list="leftList_1" listKey="popeId" listValue="popeName" headerKey="headerKey" multiple="true" emptyOption="false" allowUpDownOnLeft="false" cssStyle="width:200px;height:300px;" cssClass="input2" addToLeftLabel="向左移动" addToRightLabel="向右移动" addAllToLeftLabel="全部左移" selectAllLabel="全部选择" addAllToRightLabel="全部右移" doubleName="rightPopedom" rightTitle="用户已授权限" doubleList="rightList_1" doubleListKey="popeId" doubleListValue="popeName" doubleHeaderKey="doubleHeaderKey" doubleMultiple="true" doubleEmptyOption="false" allowUpDownOnRight="false" doubleCssClass="input2" doubleCssStyle="width:200px;height:300px;"> </s:optiontransferselect> 但不论怎样在action中都不能获得rightPopedom的值,报空指针异常。 请各位帮忙,在线急等!!!! |
|
flybida 2009-07-28
后台action里面添加属性(setXXX和getXXX方法):
private String[] leftList; private String[] rightList; 在前台页面上,当提交表单时,onclick事件调用下面的js: <script type="text/javascript"> function myself(){ var right=document.forms[0].rightList; for(i=1; i <right.length; i++) right[i].selected = true; } </script> 提交后,就能在后台得到rightList里面的值了。 如果没有这段Js代码,后台是得不到值的,这是Struts2 <s:optiontransferselect/>本身的bug. |
发表评论
-
tomcat安装不成功.提示是:failed to install tomcat6 service ,check your setting and permis
2018-03-08 14:55 445以管理员身份运行 命令提示符,弹出窗口 ,选择“是”,输入 ... -
把系统时间设置成跟数据库的一致
2016-08-22 16:41 0public String time(int x) { ... -
struts标签<logic:iterate>的用法
2016-01-08 16:17 0<logic:iterate>主要用来 ... -
WIN7环境下cmd javac不是内部或外部命令 .
2015-07-21 11:27 1235一般步骤如下: 网上摘抄部分: JAVA_HOME ... -
jdk环境变量配置
2014-08-25 11:01 0进行java开发,首先要安装jdk,安装了jdk后还要进行环境 ... -
[转]JDBC使用TNS连接多节点Oracle
2012-06-29 15:15 1223JDBC使用TNS连接多节点O ... -
一个简单的JDBC通用工具
2012-06-29 15:01 0一个简单的JDBC通用工具 支持多种数据库,统一方式产 ... -
Java调用BCP导入数据到数据库解决标识列ID问题
2012-06-29 14:53 1154面的一篇博文讲解了调用bcp批量导出数据,对于批量导入数据则写 ... -
java 可变参数方法Object... objs
2012-06-29 14:42 4233public abstract List find(Str ... -
java调用存储过程
2012-06-14 12:34 0在java可以使用java.sql.CallableState ... -
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接 错误解决办法
2012-06-13 12:56 3200用java连接sqlserver2005时总是出现下面这个错误 ... -
javac编译外部jar包
2012-06-12 14:23 3611这个有个很简单到解决 ... -
[转]Eclipse中将Java项目(引用了第三方包) 打包为jar
2012-06-12 14:13 1037如果自己的java project中需要引用额外的jar包作为 ... -
java 调用BCP导入文本数据到表
2012-06-04 15:53 0在dos下的导入语句bcp SMM_SQL_REPLICA.d ... -
[转]jdk和jre有什么区别?
2012-03-09 14:28 814来源 简单的说JDK是面 ... -
[转]Java线程:线程栈模型与线程的变量
2012-02-16 14:06 779Java线程:线程栈模型与线程的变量 SCJP5学 ... -
[转] Java线程:概念与原理
2012-02-16 13:29 822Java线程:概念与原理 ... -
Java线程:创建与启动
2012-02-16 13:26 541SCJP5学习笔记 一、定义线程 ... -
JSP页面用get传递参数乱码问题
2011-06-24 15:52 1275通过get 方式传递参数时,如果参数是中文 ,则会出现乱码现在 ... -
PO/VO/DAO/BO/POJO是什么(JAVA几种对象的解释)
2011-03-30 16:49 0/*PO:persistant object持久对 ...
相关推荐
struts2 optiontransferselect标签,其中包含一个jsp页面,可以将此jsp页面放入您的项目中,即可看到效果!
在Struts2中,OptionTransferSelect标签通常与标签配合使用,后者创建一个下拉列表,而前者则提供了双向选择的功能。以下是一些关于这个标签的重要知识点: 1. **标签语法**: OptionTransferSelect标签的基本用法...
在Struts2中,`s:optiontransferselect`是一个特殊的标签,用于创建具有双向选择功能的下拉列表,即“左列表”和“右列表”,用户可以在这两个列表之间转移选项,常用于多选场景。 **1. `s:optiontransferselect` ...
本篇文章将深入探讨Struts2 UI标签中的几个关键组件:tabbedPanel、autocompleter、tree和treenode以及optiontransferselect,这些标签在实际项目中有着广泛的应用。 首先,`tabbedPanel`标签是用于创建多选项卡的...
Struts2 标签列表及说明 Struts2 是一个基于 Java 语言的 Web 应用程序 Framework,它提供了许多标签来帮助开发者快速构建 Web 应用程序。下面是 Struts2 的标签列表及说明: A: * <s:a>:超链接,类似于 HTML ...
在Struts2中,不再像Struts1.x那样将标签库分为html、bean、logic和tiles等类别,而是统一使用一个`<s>`前缀的标签库,只需在JSP页面头部引入`<%@ taglib prefix="s" uri="/struts-tags" %>`即可使用所有标签。...
在JSP中,我们通常使用`<%@ taglib prefix="s" uri="/struts-tags" %>`来引入Struts2的标签库。下面将详细介绍一些重要的Struts2标签及其功能。 **A. 超链接和Action标签** - `<s:a href=""></s:a>`:创建一个...
optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮可以控制选项在两个下拉列表之间移动、排序。 radio标签:单选框。 optgroup标签:生成一个...
标题和描述中提到的知识点是关于Struts 2框架中的标签库使用,特别是与JSP相关的部分。Struts 2框架是一种基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,用于构建动态、可扩展的Web应用。其标签...
### Struts2标签详解及具体实例解析 #### 一、概述 Struts2是一个基于MVC模式的开源框架,它提供了丰富的标签库来简化Web应用的开发过程。这些标签不仅功能强大,而且易于使用,可以帮助开发者快速构建动态网页。...
### Struts2 S 标签库详解 #### 引言 Struts2 是一款流行的 Java Web 开发框架,它提供了一系列强大的功能来帮助开发者构建健壮的 Web 应用程序。其中,Struts2 的标签库是其核心特性之一,为开发者提供了丰富的 ...
本文将详细介绍部分Struts2标签的功能及其使用方法。 #### 二、标签概述 ##### 1. **a 标签** - **功能描述**:创建一个HTML超链接,类似于HTML中的 `<a href="">` 标签。 - **示例代码**: ```jsp 登录 ``` ...
Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者可以更加便捷地构建动态网页。以下是对Struts2中一些常用标签的详细说明: 1. `<s:a>`:这是一个超链接标签,用于创建HTML的`<a>`标签。通过指定`...
在Struts2中,所有的标签都统一在`<s>`前缀下,通过引入`<%@ taglib prefix="s" uri="/struts-tags" %>`就可以在页面上使用这些标签。 **A组标签:** 1. `<s:a>` - 用于创建超链接,与HTML的`<a>`标签类似,可以...
### Struts2常用标签详解 #### 一、概述 Struts2框架作为一款成熟的Web应用开发框架,在Java Web开发领域有着广泛的应用。Struts2框架提供了丰富的标签库,这些标签可以极大地方便开发者进行Web页面的开发工作。...
Struts2标签是Java开发中基于Struts2框架的一个重要组成部分,它提供了丰富的标签库,使得在JSP页面中处理业务逻辑和展示数据变得更加简洁和高效。与Struts1的标签库相比,Struts2的标签更加灵活且功能更加强大。 ...
Struts2.0 Taglib标签库是Struts2框架中的核心组成部分,它提供了一组丰富的JSP标签,...在使用Struts2开发时,只需在JSP页面中引入Struts2的Taglib,即可使用这些标签来构建用户界面,从而实现与后台Action的交互。
要在JSP页面中使用Struts2的S标签,首先需要在页面顶部添加如下声明: ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> ``` 这行代码的作用是将Struts2提供的标签库导入到当前JSP页面中,并指定前缀为“s”。...
Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者可以更加便捷地构建动态网页。以下是对Struts2标签的详细解释: A部分: 1. `<s:a>`:创建一个链接,与HTML的`<a>`标签相似,允许传递参数。 2. `...
为了在JSP页面中使用Struts2提供的标签,首先需要在JSP页面中声明标签库的引入,通常的引入方式如下: ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> ``` #### 四、Struts2标签语法 Struts2标签的语法基本上...