- 浏览: 1990295 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (509)
- JavaEE (122)
- Oracle数据库 (29)
- JavaScript (37)
- SAP (5)
- MySql数据库 (7)
- JavaSE (4)
- Ajax (1)
- jQuery (13)
- SSH框架 (36)
- Web Service (10)
- JSF框架 (2)
- JBPM (0)
- ireport报表 (2)
- ibatis (5)
- Hibernate (31)
- JSP (11)
- Tomcat 服务器 (20)
- Other (19)
- JavaWeb (4)
- Maven (11)
- OSWorkFlow (10)
- HTML (13)
- Exception汇总 (7)
- SVN (2)
- 笑话 (1)
- JSTL (1)
- WebSphere Message Broker (13)
- ANT命令 (3)
- Liunx (12)
- Struts2 (26)
- Eclipse (6)
- DOS (3)
- Flex (11)
- WebSphere (1)
- 开发常用工具 (3)
- Junit (2)
- EJB (4)
- Struts1.2 (2)
- Jboss (1)
- Android (2)
- Java框架源码解析 (1)
- Spring (4)
- MyBatis (6)
- SpringMVC (4)
- Jetty (2)
- 数据库表设计 (1)
- SSO (4)
最新评论
-
贝塔ZQ:
也可以试试PageOffice插件,觉得更简单点
Jxl操作Excel设置背景、字体颜色、对齐方式、列的宽度 -
jia1208:
...
Could not publish server configuration for Tomcat v6.0 Server at localhost. -
u011274527:
赞
java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误 -
旭旭小牛啦:
怎么没哟了,继续赛
jQuery 选择器 -
wzw3919:
100行会报空指针
Java 解压缩zip文件
最近做项目,需要用到struts2中的标签,
自己便研究了一些.研究的成功..则贴出来与大家分享:
第一步搭建struts2框架。 然后建立Action.
这里取名叫做StrutsTagAction。
下面是StrutsTagAction的具体代码:
package pack.java.file.upload.action; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import com.opensymphony.xwork2.ActionSupport; public class StrutsTagAction extends ActionSupport{ private static final long serialVersionUID = 3862594026022793012L; private Map<String, Object> userGroupMap; private Map<String, Object> alreadExistsUserGroupMap; private String javaBook; private String[] leftSelectValue; private String[] rightSelectValue; //getter和settter方式省略; /** * 显示用户组信息; * @return */ public String displayUserGroupList(){ Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> userGroup = new HashMap<String, Object>(); userGroup.put("100", "开发员组"); userGroup.put("200", "代码测试组"); userGroup.put("300", "管理员组"); userGroup.put("400", "需求分析组"); userGroup.put("500", "架构设计组"); Map<String, Object> alreadyExistxUserGroup = new HashMap<String, Object>(); alreadyExistxUserGroup.put("300", "管理员组"); alreadyExistxUserGroup.put("400", "需求分析组"); alreadyExistxUserGroup.put("500", "架构设计组"); this.alreadExistsUserGroupMap = alreadyExistxUserGroup; //判定所有权限中,是否存在相同的;如果存在,则删除; for(Iterator<String> iterator1 = userGroup.keySet().iterator();iterator1.hasNext();){ String userGroupKey = iterator1.next(); for(Iterator<String> iterator2 = alreadyExistxUserGroup.keySet().iterator();iterator2.hasNext();){ String alreadyExistsKey = iterator2.next(); if(userGroupKey.equals(alreadyExistsKey)){ map.put(userGroupKey,userGroup.get(userGroupKey)); } } } //循环已有的map对象: for(Iterator<String> iterator1 = map.keySet().iterator();iterator1.hasNext();){ //移除已经存在的对象; userGroup.remove(iterator1.next()); } this.userGroupMap = userGroup; return "userGroupList"; } /** * 获取选择复选框的值; * @return */ public String getDoubleSelectValue(){ //获取选择的值; System.out.println("左侧下拉框的值:"); if(leftSelectValue!=null && leftSelectValue.length>0){ for(int i = 0;i<this.leftSelectValue.length;i++){ System.out.print(this.leftSelectValue[i]+","); } } System.out.println(""); System.out.println("右侧下拉框的值:"); if(rightSelectValue!=null && rightSelectValue.length>0){ for(int i = 0;i<this.rightSelectValue.length;i++){ System.out.print(this.rightSelectValue[i]+","); } } System.out.println(""); //重新加载显示; displayUserGroupList(); return "userGroupList"; } }
然后,建立一个jsp页面.
具体代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <s:head theme="ajax"/> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> //在js中获取值; function getDoubleSelectListValue(){ //获取左边的下拉框的值; var leftNode = document.getElementById("left"); for(var i = 0;i<leftNode.length;i=i+1){ alert("左侧下拉框的值:->>"+leftNode[i].value+","+leftNode[i].text);//id } //获取右边的下拉框的值; var rightNode = document.getElementById("right"); for(var i = 0;i<rightNode.length;i=i+1){ alert("右侧下拉框的值:->>"+rightNode[i].value+","+rightNode[i].text); } } </script> </head> <body> <s:form method="post" name="myform" action="strutsTagAction!getDoubleSelectValue.action"> <!-- Struts2中的左右选择框; list - 指左侧下拉框的集合,可以是List集合,或者是Map集合 doubleList - 指右侧下拉框的集合, leftTitle - 指左侧标题 rightTitle - 指右侧标题 listKey - 指左侧的list中的key, listValue - 指左侧的list中的value, --> <s:optiontransferselect id="left" name="leftSelectValue" list="#request.userGroupMap" listKey="key" listValue="value" doubleId="right" doubleName="rightSelectValue" rightTitle="已选择" leftTitle="未选择" doubleList="#request.alreadExistsUserGroupMap" doubleListKey="key" doubleListValue="value" /> <br/> <s:submit value="提交已经选择的值" theme="simple"></s:submit> <input type="button" value="在Javascript中获取值" onclick="getDoubleSelectListValue()"/><br/><br/> <br/><br/> <!-- 日期选择框 --> <s:datetimepicker name="order.data" label="购买日期" toggleType="explode" value="today"/> <!-- 时间选择框; --> <s:datetimepicker name="start" label="选择出发时间" type="time" value="12:00"/> </s:form> </body> </html>
测试结果:
当点击提交按钮到后台输出的值:
左侧下拉框的值:
200,100,
右侧下拉框的值:
500,400,300,
发表评论
-
java.lang.NoSuchMethodException: No such accessible method: addForwardConfig() o
2012-06-07 00:07 3379经常有人在配置Struts1.2的struts-conf ... -
Unable to load configuration. - action - file:/C:/Documents%20and%
2011-12-12 21:34 8035Unable to load configuration. - ... -
Struts2+jQuery+Ajax
2011-11-29 11:05 2927一个简单的Json实例,采用Struts2 + jQuery1 ... -
Struts2 使用”#“获取数据 和不使用“#”号的区别。
2011-09-29 11:43 1223最近使用struts2 做项目时, 如果在后台可以使用两 ... -
Struts2 标签出现'dojo' 未定义 解决方案
2011-09-23 23:09 1366我在做项目用到了struts2中的 s:optiont ... -
struts2几种result type探究
2011-09-22 02:18 1309可以在struts2-core-{version}.jar ... -
Struts2 自定义拦截器,怎么实现先于 action 执行
2011-09-08 00:31 1418在Action前用拦截器是直接return act.invok ... -
struts2自定义拦截器,模拟登陆权限验证
2011-09-08 00:27 2261struts2自定义拦截器一——模拟登陆权限验证 1、h ... -
JSP的Filter对struts2 中的 action拦截不起作用的解决方案.
2011-09-08 00:22 2193好像在web.xml配置filter只能实现对jsp的拦截 ... -
从数据库中获取国际化资源文件的key,然后通过Struts2的标签显示
2011-09-04 13:34 3332首先在mySql数据库中建 ... -
Parse Error at line 2 column 15: Document is invalid: no grammar found.
2011-09-03 00:09 2212今天部署把项目部署到tomcat上面时,发现了一个错误,. ... -
java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputS
2011-08-29 01:02 4042java.lang.NoClassDefFoundError: ... -
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.mu
2011-08-29 00:32 1414最近做文件上传的功能时,报如下错误..是因为少了一个jar包的 ... -
Struts2 标记判断List集合和Map集合元素的大小
2011-08-25 20:34 4252比如判断一个list集合中的元素等于或小于0, <!- ... -
Struts2 <s:if> 标签的使用
2011-08-25 16:31 1072标签用法如下: test中是用来,放表达式,不能嵌套EL表达 ... -
Struts2 Caused by: java.lang.IllegalArgumentException: argument type mismatch
2011-08-15 09:27 8850前台页面文本框 name 绑定的属性,与后台属性不一致. ... -
Struts2 一些常见的标签的使用
2011-08-10 00:52 1274直接贴后台代码: package com.struts2.a ... -
Struts2+JQuery+Json登陆实例
2011-07-17 23:21 6321在搭建之前.. 首先,需要准备struts2.0框架的5个核心 ... -
java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lan
2011-07-16 18:47 5533java.lang.NoSuchMethodError: ... -
Struts2通过使用ActionContext类获取request和response对象
2011-07-16 18:23 2850使用ActionContext类这种方法比较简单,我们可以通过 ...
相关推荐
optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮可以控制选项在两个下拉列表之间移动、排序。 radio标签:单选框。 optgroup标签:生成一个...
在Struts2中,OptionTransferSelect标签通常与<s:select>标签配合使用,后者创建一个下拉列表,而前者则提供了双向选择的功能。以下是一些关于这个标签的重要知识点: 1. **标签语法**: OptionTransferSelect标签...
要在JSP页面中使用Struts2的S标签,首先需要在页面顶部添加如下声明: ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> ``` 这行代码的作用是将Struts2提供的标签库导入到当前JSP页面中,并指定前缀为“s”。...
- `<s:optiontransferselect>`:创建左右选择框,用户可以在两个下拉列表之间转移选项。 **L. 参数传递和密码输入** - `<s:param></s:param>`:为其他标签提供参数。 - `<s:password></s:password>`:创建密码...
这些标签用于创建下拉列表和子集选择框,`<s:select>` 创建标准的下拉列表,而 `<s:subset>` 可以从集合中选择子集。 **示例:** ```xml <s:select name="country" list="countries" headerKey="-1" headerValue=...
在Struts2中,所有的标签都统一在`<s>`前缀下,通过引入`<%@ taglib prefix="s" uri="/struts-tags" %>`就可以在页面上使用这些标签。 **A组标签:** 1. `<s:a>` - 用于创建超链接,与HTML的`<a>`标签类似,可以...
`<s:optgroup>` 创建分组的选项,`<s:optiontransferselect>` 实现左右选择框,允许用户在两个下拉列表之间移动选项。 P. `<s:param>, <s:password>, <s:property>`: `<s:param>` 传递参数给其他标签,`<s:password...
`<s:file>`标签用于文件上传功能,与Struts2的FileUpload拦截器配合使用。 `<s:form>`标签创建表单,它会将表单数据提交到指定的Action。 G. `<s:generator>`,`<s:iterator>`: `<s:generator>`常与`s:iterator`...
2. `<s:optiontransferselect>`:左右选择框,允许用户在两个下拉框之间转移选项。 L. 标签辅助: 1. `<s:label>`:创建只读标签,用于显示文本。 2. `<s:merge>`:合并遍历集合产生的值。 M. 参数和值: 1. `<s:...
`<s:combobox>` - 下拉列表标签 用于创建一个下拉列表。 ```jsp <s:combobox name="combo" list="options" headerKey="" headerValue=""/> ``` ##### 11. `<s:component>` - 组件标签 用于嵌入一个组件。 ```jsp ...
2. `<s:optiontransferselect>`:创建左右选择框,用于双向选择列表项。 P部分: 1. `<s:param>`:为其他标签传递参数。 2. `<s:password>`:创建密码输入框,输入内容不可见。 3. `<s:property>`:显示或设置值栈...
`<s:optiontransferselect>` 标签用于创建一个可以选择并转移项的下拉列表。 ### 28. `<s:param>` 标签 `<s:param>` 标签用于向URL或其他标签传递参数。 ### 29. `<s:password>` 标签 `<s:password>` 标签用于...
`<s:optiontransferselect>`:创建一个具有左右选择框的组件,允许用户在两个列表间移动选项。 P. `<s:param>`:为其他标签提供参数,可以传递额外的数据。 Q. `<s:password>`:创建一个密码输入框,保证输入内容...
以上只是Struts2标签库中的一部分,实际上还有很多其他的标签,如`<s:textfield>`(文本输入框)、`<s:textarea>`(多行文本输入框)等,它们共同构成了Struts2强大的视图层支持,简化了Web开发中的页面构建工作。
2. `<s:optiontransferselect>` - 左右选择框,允许用户在两个列表之间移动选项。 P部分: 1. `<s:param>` - 为其他标签传递参数。 2. `<s:password></s:password>` - 密码输入框,输入内容不可见。 3. `<s:...
在Struts2中,不再像Struts1.x那样将标签库分为html、bean、logic和tiles等类别,而是统一使用一个`<s>`前缀的标签库,只需在JSP页面头部引入`<%@ taglib prefix="s" uri="/struts-tags" %>`即可使用所有标签。...