- 浏览: 556543 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (533)
- spring (8)
- struts (21)
- hibernate (17)
- java其他 (73)
- 设计模式 (2)
- 开发软件/插件 (26)
- android (8)
- extjs4 (1)
- 网络编程 (4)
- 生活杂记 (3)
- ibatis (5)
- 应用服务器 (4)
- js (26)
- html/css (16)
- linux (0)
- db (32)
- jsp/servlet (13)
- xml (9)
- webservice (10)
- 错误/异常处理 (23)
- 线程 (10)
- maven (7)
- lucene (2)
- python (0)
- 报表 (1)
- mongodb (6)
- restful (6)
- ssl (1)
最新评论
-
zmwxiaoming:
...
struts2拦截器验证登陆状态 -
u012413283:
感谢楼主,同样的问题解决了
eclipse下安装m2e的maven插件报错的各类解决方案(含pom editor没装好的解决方案) -
javalucky:
你妹,想不吐槽都不行啊,eclipse 那来的maven4My ...
clipse加载maven工程提示pom.xml无法解析org.apache.maven.plugins:maven-resources-plugin: -
zhaoyh82:
感谢楼主
eclipse下安装m2e的maven插件报错的各类解决方案(含pom editor没装好的解决方案) -
hua2011:
按照楼主说的,还是没有出现pom editor编辑器,麻烦楼主 ...
eclipse下安装m2e的maven插件报错的各类解决方案(含pom editor没装好的解决方案)
早先时候已经有一篇写到struts的iterator标签去遍历些基本的集合数据了,比如单个对象的List啊,多个对象的List啊,map等等。最近呢又遇见两种情况,在这里给记录一下,方便自己以后能随时查看,也希望能在一定程度上帮助到大家。
第一种情况是,这里首先有两个表,一个表是客户表 (CustomerInfo),一个表是收货人表(TakerInfo),两个表中,都有姓名(name)和电话(cellphone)的属性,根据页面 输入的一系列条件,如name,cellphone等去查询两表,得到一个存放着customerinfo和takerinfo的集合。并将这个集合绑定 到页面,并标示出,这个人是来自于客户表,还是来自于收货人表。
action代码如下:
Java代码
- private Map<String, List>map; /包含客户和取货人的map集合
- private List<TakerInfo>list; //取货人list
- private List<CustomerInfo> list2; //客户list
- public String getAllUserLs(){
- map=new HashMap<String, List>();
- list=takerInfoDao.getAllTakers(); //dao层实现省略,此处不是重点
- list2=customerInfoDao.getAllCus();
- if (list.size()>0 &&list2.size()>0 )
- map.add("takers" ,list);
- map.add("customers" ,list2);
- return SUCCESS;
- }
绑定该map的页面代码如下:
Jsp代码
- <s:iterator value="map3" var="var" >
- <s:if test="#var.key=='takers'" >
- <s:iterator value="#var.value" var="takerInfo" >
- <tr>
- <td >真实姓名:<s:property value="#takerInfo.RealName" /></td>
- <td >手机号码:<s:property value="#takerInfo.Cellphone" /></td>
- </tr>
- </s:iterator>
- </s:if><s:else>
- <s:iterator value="#var.value" var="customerInfo" >
- <tr>
- <td >真实姓名:<s:property value="#customerInfo.customerRealName" /></td>
- <td >手机号码:<s:property value="#customerInfo.customerCellphone" /></td>
- </tr>
- </s:iterator>
- </s:else>
- </s:iterator>
上面页面和代码我都尽量写得最清楚直白了,方便大家理解,很多方法的实现或者页面上的其他字段,样式,js我都抹掉了。
第二种情况是,有一个得到所有城市的接口[返回的值里存有城市名称和城市的id等信息],有一个根据单个城市id得到这个城市下,所有车辆品牌的接口[返回的值里,存有一个城市下的所有车辆的品牌id,品牌名称等信息]。
这里需要实现就是,在一个页面上,显示出所有车辆品牌名称,并显示它是属于哪个城市下的,如有是上海有10个车辆品牌,武汉有10个车辆品牌,你得显示这20辆车的详细,并指出它是哪个城市下的。
action的代码如下:
Java代码
- private List<Map<String, Object>> brandsMapList; //一个城市下所有品牌的map
- private List<Map<String, Object>> regionMapList; //所有城市map,以此获得所有的城市的id
- private Map<String, List<Map<String, Object>>> allBrandMap; //所有城市的,所有品牌map
- public String showAllBrand(){
- //实例化
- allBrandMap=new HashMap<String, List<Map<String,Object>>>();
- //得到所有城市
- regionMapList=Dom4jUtil.parserXmlStr(carBrandService.getCitys());
- for (int i=0 ;i<regionMapList.size();i++){
- //得到单个城市下的所有brand
- brandsMapList=Dom4jUtil.parserXmlStr(carBrandService.getSelfDriveServiceCityBrands(regionMapList.get(i).get("id" ).toString()));
- //所有城市下的,所有brand
- allBrandMap.put(regionMapList.get(i).get("name" ).toString(), brandsMapList);
- }
- }
绑定该集合的jsp页面是:
Jsp代码
- <s:iterator value="allBrandMap" status="index" var="citys" >
- <s:if test="#citys.value!=null" >
- <s:iterator value="#citys.value" var="brand" >
- <tr>
- <td ><s:property value="#brand.name" /></td>
- <td ><s:property value="#citys.key" /> </td>
- <td >[查看][删除]</td>
- </tr>
- </s:iterator>
- </s:if>
- </s:iterator>
发表评论
-
过滤器,拦截器, 监听器区别
2014-02-23 11:35 454总体的概念上的总结有: 1、拦截器是基于java反射机制 ... -
ognl.InappropriateExpressionException: Inappropriate OGNL expression: 1
2013-08-29 13:28 1568WARN OgnlValueStack:49 - Error ... -
<s:iterator>获取遍历数据的索引下标
2013-08-29 11:37 3757<s:iterator value="#uL ... -
struts2中的json
2013-08-17 12:29 948这里放一个转载的struts2中jso ... -
struts2 <s:textfield />中的日期格式化输出
2013-05-20 10:22 2221struts2 中的默认的日期输出并不符合我们的中文日常习 ... -
ognl.OgnlException: target is null for setProperty(null, "newsid", [Ljava.lan
2013-05-16 10:12 1261昨天写那个项目,发现所有的JSP界面的属性都报ognl.O ... -
struts2官方入门案列curd
2013-03-28 15:01 1984偶然在查看文档时,看到这个demo,后来认真看 ... -
ActionContext和OGNL
2013-03-18 19:27 1155使用struts2 ... -
java.lang.NoSuchMethodError: com.opensymphony.xwork2.util.ValueStack.findValue
2013-03-14 13:31 1583java.lang.NoSuchMethodError: c ... -
jsp自定义分页标签page
2013-03-11 16:15 2622日常工作项目里,分页是十分常见的, ... -
文件上传显示保存到数据库实现类
2013-03-11 09:59 1155public class UpLoadAction exte ... -
Struts2 -- s:if标签的使用
2013-01-24 10:46 1182A:<s:if>判断字符串的问题: 1、判断 ... -
s:iterator一行打印三条数据
2012-12-20 17:37 1828一般使用struts的iterator标签时,我们用它来遍历 ... -
Struts2的dojo使用与/template/ajax/head.ftl not found.
2012-12-09 22:29 1277在项目中使用到Struts2的dojo时,出现ja ... -
struts2<s:iterator>遍历map
2012-12-03 10:43 22491.假使现在有这样一个Ac ... -
struts2文件上传/下载(附源代码)
2012-10-16 14:47 4480struts2对于文件的操作提供很多便捷的地方,因此在项 ... -
web使用displaytag显示表格(提供排序,链接,下载等等)
2012-10-14 10:09 2720DisplayTag是一个开源的自定义标签库(Custo ... -
struts2加载多个配置文件
2012-10-13 09:51 937在Struts2.0 中加载多个 struts.xml ... -
struts2拦截器验证登陆状态
2012-10-12 15:07 1784<interceptors> ... -
struts2过滤器验证登陆状态
2012-10-12 15:02 2656实现效果为: 用户在没登陆的情况下就不能访问管理页面, ...
相关推荐
本资源“struts2 表单数据绑定map、list等.rar”着重讲解了Struts2如何处理表单数据,特别是如何将表单数据绑定到Map和List等集合类型。了解这些内容对于构建动态、复杂的Web应用至关重要。 在Struts2中,数据绑定...
4. `private Map<String, List<Student>> listMap`: 存储学生列表,每个键对应一个包含多个Student对象的列表。 在`testMap()`方法中,我们为这些Map对象填充了示例数据。这些数据可以被传送到视图层进行展示。 接...
private Map<String, Role> roles = new HashMap<>(); // getters and setters } ``` 这里的`roles` Map将用户的ID作为键,Role对象作为值,映射到数据库中的关联表。 **4. Map容器在CRUD操作中的应用** 在SSH...
<form method="post" action="/struts-example/list-action"> <table> <tr> <th>Name</th> <th>Age</th> </tr> <tr> <td><input type="text" name="users[0].name" value="Alice"/></td> <td><input type=...
- 配置Struts2框架,包括`<struts>`、`<package>`、`<action>`、`<interceptor-ref>`和`<result>`等标签。 - 例如,配置`<package>`标签时,设置`name="csg_taglib"`,`namespace="/taglib"`,`extends="struts-...
Map<String, Object> result = new HashMap<>(); result.put("total", totalPages); result.put("records", totalRecords); return result; } } ``` 在Struts2的配置文件中,需要声明这个Action和对应的...
- 第48行的`<s:set>`标签创建了一个名为`map`的Map对象,其键值对由一对花括号内的表达式定义:`{'1':'eeeee','2':'ddddd','3':'ccccc','4':'bbbbb','5':'aaaaa'}`。这实际上创建了一个`Map<String, String>`。 - ...
public Map<String, Object> getJson() { return Collections.singletonMap("data", data); } } ``` 这样,当你在jQuery的AJAX请求中指定URL为`yourAction.action`时,Struts2会返回JSON格式的`data`对象。 3...
比如,如果Action类有一个`List<String> messages`属性,我们可以在JSP中使用`<s:iterator value="messages">`标签遍历这个列表。 描述中提到的"ognl标签"是指Struts2提供的与OGNL相关的标签库,它们使得在JSP页面...
protected Map<String, Object> onSubmit(User user) throws Exception { // 处理表单提交逻辑 return new HashMap<>(); } } ``` ##### 4.3 绑定多个字段 在实际应用中,经常需要在一个表单中绑定多个字段。...
本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...
Map<String, Object> model = new HashMap<>(); model.put("user", new User("张三")); // 渲染输出 Writer out = new StringWriter(); template.process(model, out); String result = out.toString(); ``` **5. ...
- 表单回填:通过OGNL,Struts2可以将请求参数自动绑定到Action类的属性上,如 `<s:textfield name="username" />`。 - 视图渲染:在JSP或FreeMarker模板中,可以直接使用OGNL表达式显示模型数据,如 `${user.name...
- 响应实体对象:如`String`、`List`、`Map`等,通常配合`@ResponseBody`使用。 SpringMVC用什么对象从后台向前台传递数据的? 通常使用`Model`或`ModelMap`对象来从后台向前台传递数据。这两个对象都实现了`...
Map<String, Object> context = new HashMap<>(); context.put("action", action); String expression = "action.name"; Object result = Ognl.getValue(expression, context, context); ``` 在这个例子中,`Ognl....
在实际项目中,使用Struts2提供的迭代标签`<s:iterator>`可以在页面上方便地遍历集合。例如,要遍历一个客户列表,可以这样使用: ```xml <s:iterator value="customerList" var="customer"> <s:property value="#...
Apache CXF入门范例以及对传递ListMap类型的疑惑】中,可能会详细解释如何创建和调用一个使用CXF的Web服务,同时也可能讨论了在处理复杂数据类型如List<Map<String, Object>>时遇到的问题和解决方案。通常,CXF允许...
5.1 Struts标签的使用方法 59 5.2 表单标签的共同属性 60 5.3 form标签 62 5.4 textfield、password、hidden标签 63 5.5 submit标签 65 5.6 reset标签 65 5.7 label标签 66 5.8 head标签 66 5.9 textarea标签 66 ...