问题一

原版本Struts2.2.1中的JSP代码如下:

<a class="buttonSelect" href="/manage/machine/uploadFile!uploadOwnerIdentityUI.do?
businessId=${owner.id}&mainInfoId=${mi.id}&businessType=${mi.businessType}
&fieldId=hddProofPicPath&jsFunction=callbackFunc('proof')&width=330&height=445" target="dialog" mask="true" width="450" height="350" rel="uploadify"><span>上传</span></a>

鼠标移到这链接上,看到的链接地址如下:

由于链接地址.do?后面进行了回车换行,所以导致了看到的实际链接地址上.do?后面多了一块空格。

但后台是可以正确获取到businessId这个字段的值的

版本升级至Struts2.3.15.1后,后台变成了获取不到businessId这个字段的值了。通过调试查看request里面的参数名,发现它是已经把空格和businessId连在一起当作一个参数名了,如下图所示:

解决方法只能是在链接地址.do?后面不进行回车换行了。

问题二

Struts2.2.1版本的时候,使用了Token来防止重复提交,在后台如果验证不通过的话则使用

ActionContext.getContext().getSession().put("xxxx",xxxx);

方式重新把Token的值存储回去,但升级到Struts2.3.15.1版本后,这样不起作用了,需要改成

TokenHelper.setSessionToken("xxxx", xxxx);

这样才行。

Struts2从版本2.2.1升级至2.3.15.1出现的问题的更多相关文章

  1. 搭建Struts2不同版本jar包不同

    struts2的版本比较多,所以在开发的时候特别要注意版本不同所需引入的包是不一样的.否则,会出现各种问题.而且很难找到问题所在. 以下是我遇到的问题总结: 一.当我运用struts2.3.4.1时, ...

  2. struts2更新版本操作有关事项备注

    struts2更新版本操作有关事项备注, 更新主要jar包:struts2-convention-plugin-version,struts2-core-version, struts2-spring ...

  3. struts2不同版本在核心filter在web.xml中的配置

    FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.配置如下: <filter> <filter-name>struts2</filte ...

  4. [.Net Core] - 当 .Net Core 版本由 1.x 升级至 2.x 后,Cookie 使用方式变更

    背景 Asp.Net Core 项目升级至 2.x 版本后,Cookie 验证方式需要进行更新. 升级前:.Net Core 1.x Startup.cs public void Configure( ...

  5. phpnow升级php版本 php-5.2.14-Win32升级至5.3.5

    PHPNow自带的PHP版本为5.2.14,而最后一次更新在于2010-9-22.下面来升级PHP5.3.5: 1.下载安装文件: 先下载PHP5.3.5,下载地址:php-5.3.5-Win32-V ...

  6. struts1、 struts2所有版本jar包下载地址大全

     jakarta-struts-1.2.2.tar.gz      30-Aug-2004 18:21   12M  jakarta-struts-1.2.2.tar.gz.asc  30-Aug-2 ...

  7. struts2 最新S2-016-S2-017漏洞通杀struts2所有版本及修复方法

    详情查看http://zone.wooyun.org/content/5159 官方漏洞说明 http://struts.apache.org/release/2.3.x/docs/s2-016.ht ...

  8. 在struts2.5版本中使用DMI遇到问题

    struts2.5 为了提升安全性,添加了 allomethod 这么个玩意. 解决方法是在配置文件中添加: <package name="exam" extends=&qu ...

  9. CentOS5内核版本2.6.18升级至3.6.4 转

    http://www.kvm.la/centos5-upgrade-kernel-3-6.html

随机推荐

  1. get the runing time of C++ console program.

    // 获取程序运行时间.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h"#include <time.h>#include < ...

  2. upTodown

         ------->>>  从左图变为有图,并实现将左图上面的信息隐藏. <img src="../images/up.gif" border=&qu ...

  3. 如何在DOS下用C/C++ 编译器

    本文来自CSDN博客     ★★ 注意:以下适合 PC 环境 ★★   ●C/C++ 编译器需要的环境变数设定     古早以来,PC 上的 C 编译器,就需要两个环境变数:     LIB:这个环 ...

  4. Linux 软中断

    本文转载自: http://blog.chinaunix.net/uid-9620812-id-3833377.html,如有需要,请移步访问. Technorati 标签: Linux 软中断 -- ...

  5. 内核中读取UTC时间

        记录这个知识点的原因是因为项目中需要保存充电日志,因此,趁着这个机会,深入了解一下Linux的时间系统. UTC:(Universal Time Coordinated) 协调世界时的缩写   ...

  6. mysql安装过程中出现的错误问题解决方案

    最近在学Django,因为与数据库相关,所以我下载并安装了MySQL,安装的过程真的是一把辛酸泪啊.安装过后,查看是否可以使用,出现了cann't connect to mysql server这个错 ...

  7. C++ 嵌入汇编 获取CPU信息

    #include "windows.h" #include "iostream" #include "string" using names ...

  8. java集合学习一

    首先看一下java集合的关系图 1.1从全面了解Java的集合关系图.常见集合  list  set map等其中我们最常用的 list  map 结合.几天说一下常见的map.map在我工作的两年里 ...

  9. mysql中按string字段排序

    如: Sql代码SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC或者: Sql代码SELECT * FROM Student WHERE 1 = ...

  10. Android发送请求到不同的Servlet,但都是一个Servlet处理

    错误原因,在Servlet文件中 @WebServlet("/ServletForGETMethod") 与实际的ServletForQUERYMethod 文件名不符. @Web ...