用struts2取url后参数的值,Map栈里取值千万要注意的问题

本文介绍如何在Struts2框架中将对象存入Map栈及从URL参数中正确获取值。演示了如何存储User对象并在前端展示其属性,同时详细解释了通过#parameters获取单值及多值参数的不同方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 ActionContext.getContext().put("testMapStack", user);

将一个user对象放入map栈中

在前台页面取值,获取user对象的name属性时可以

<s:property value='#testMapStack.name'/>



当要取url后参数的值时:

http://localhost:8090/WAH/PrivateLetterList?userName=xxc&passWord=111

这时候如果要取userName的值,以下方法虽然能取到xxc,但是实际是一个集合对象,里面只有一个元素xxc

<s:property value='#parameters.userName'/><!-- 获取到的是xxc,但是它是一个集合对象 -->
但是

<s:property value='#parameters.userName=="xxc"'/><!-- 却是false -->
实际上通过#parameters.userName取到的是map栈这个大集合中的的parameters   map小集合中的键为userName的集合对象

可以从以下例子印证上面的观点


当访问http://localhost:8090/WAH/PrivateLetterList?userName=xxc&userName=pkq

<s:property value='#parameters.userName'/><!--获取到的是xxc,pkq-->

注意:这个时候要获取xxc名字需要

<s:property value='#parameters.userName[0]'/><!-- 获取到的是xxc字符串 -->
这时

<s:property value='#parameters.userName[0]=="xxc"'/><!-- 返回的是true了 -->


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值