使用<a>标签调用struts2的action、传递动态参数、以及参数中出现加号等特殊字符的处理方法

首先说一下我的web应用是通过<a>标签调用struts2框架下的一个action,给该action传递一个参数,然后action通过这个参数进行相应的处理。

方法是: <a href="../actionName?phoneName=XXX">点击我</a>

问号后面是参数的名称。当然调用的action里面要有相应的变量来接受这个参数。


那么如果参数是动态生成的,比如我要传递的参数phoneName并不是一个固定的值,而是另一个action生成的。

比如我的应用中,要展示一个手机产品的页面。但是这个页面的所有信息就是一个action,比如是action1生成的,因此里面的所有数据也都是action1返回的。那么我在action1生成的页面里点击<a>标签想要调用action2,但是参数却是action1生成的参数。则可以采用如下方法:

 <a href="../actionName?phoneName=<s:property value='phoneName' />">点击我</a>

这里直接使用<s:proerty>标签获得action1返回的参数。phoneName就是action1返回的一个参数名称。注意使用单引号括起来。


再有一个问题就是,如果我的参数,比如上例中的phoneName,是iphone 6,但是url地址中并不允许出现空格。因此如果phoneName直接是iphone 6,就无法正确执行该action。这时候需要用一些其他字符来代替这些特殊字符:

+                       %2B   
空格                  %20 
/                        %2F     
?                       %3F     
%                      %25     
#                       %23     
&                       %26     
=                       %3D

比如你要传递的参数是Galaxy S6 Edge+,那么正确的url应该是Galaxy%20S6%20Edge%2B


本人刚刚开始学习web开发,如有不足请指正,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值