• url地址 参数 带 参数 注意事项 , chain , redirect , redirectAction


    当 url  地址中含有  参数 时 ,若参数值是一个 含有 参数的 地址时 , 应警惕 ,如 

                    index/goIndex!login?backUrl=/shop/goShop!go?a1=1&a2=2&a3=3;

        当参数backUrl 的值 仍然含有 参数时 , 根据url  解析方式 , 会出现 如下情况 

          url 地址:index/goIndex!login 

          参数 backUrl :  /shop/goshop!go?a1=1

          参数 a2 : 2

          参数 a3 : 3

      会解析成  3个参数 ,而并不是 我们 想要 的 backUrl=/shop/goShop!go?a1=1&a2=2&a3=3;  这是因为url 解析默认以& 参数分隔符 ,所以在出现一个& 时 ,

      会把& 的以前的当成一个参数 。 解决方式 很多 ,最好不要 使用 拼接url  的方式 传参,尤其是参数值仍然为 地址时。js 中可以使用 异步ajax ,或者对参数 编码。

      获得使用 from 表单提交 参数。

    1.  使用 chain  和 redirectAction 

        写法 :

          <result name="success" type="chain">  或者 redictAction

            <param name="namespace">/go</param>

            <param name="actionName">goIndex</param>

            <param name="method">init</param>   <!--namespace和method 都可以省略 ,默认当前和excute;

            <param name="backurl">cc</param>

          </result>

           主要注意: 当使用 chain  时 由于某种原因 , 可能需要 当前 action  必须配置 backurl 属性和getter/setter方法, 才能在下个action 中

           获得 backurl 的值。 使用 redirectAction  则不需要在 当前aciton 中必须配置 backurl 属性。

           使用 redirect 则是直接写地址 <result type="redirect" name="success">/go/goIndex!init.action?backurl=cc</result>

  • 相关阅读:
    在 Ubuntu上使用 MySQL
    Ubuntu/CentOs 搭建SVN服务器
    一个简单的零配置命令行HTTP服务器
    Windows 环境下 NodeJs 开发 Log
    AngularJS
    thinkphp5.0使用workerman多线程实例
    bat自动备份数据库文件
    mysql.ini配置优化速度参考
    php解析识别二维码内容
    windows屏蔽windows错误报告提示框
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/3483860.html
Copyright © 2020-2023  润新知