今天如常的打开项目开放。写了一会保存测试。在登录时出了个错误当不影响正常使用。丫的昨天还好好的。行下手上的工作 开始找bug

错误核心代码如下:

10:34:46,442  WARN OgnlValueStack:60 - Error setting expression 'login.x' with value '[Ljava.lang.String;@5e7b8281'
ognl.OgnlException: target is null for setProperty(null, "x", [Ljava.lang.String;@5e7b8281)

10:34:46,445  WARN OgnlValueStack:60 - Error setting expression 'login.y' with value '[Ljava.lang.String;@221aa7c1'
ognl.OgnlException: target is null for setProperty(null, "y", [Ljava.lang.String;@221aa7c1)

报类型转换错误 可我的Action中压根就没有 什么x,y 参数。

后在一个网址上看到有前辈也遇到相同的问题。解决方法是:(看看是否有图片 以及 这个图片是否有name属性 如果有就果断删掉把。

下面是转载前辈所述:

Struts2这个异常是在提交表单的时候发生的,乍一看以为是Struts2类型转换的错误,但是程序中又压根儿没有用到Struts2的类型转换,而且前台页面index.jsp中也没有设置x,y这些参数;且这个错误并不会影响程序的正常运行,找了很久,最后发现是提交按钮的缘故,提交按钮引用的是一个图片,如下:

<input id="submit" type="image" name="ssc" src="asserts/images/5.jpg"/>

由于表单提交中设置了name属性,所以struts2会进行接收相应的值,查找它的set 和 get方法,而action里面没有这个name值的,所以才出现了如上错误。可以这样写:
<input id="submit" type="image" src="asserts/images/5.jpg" />
将name属性去掉即可。
其实,在struts.xml文件里可以配置"struts.devMode"属性。
当struts.devMode = true时,使用struts在默认配置下对任何提交到action的参数强制需要setter方法,html表单数据中有和action属性匹配不上的参数名时就会提示这样的信息。所以,在开发过程中将这个属性设为true还是很好的,它可以帮我们发现一些可能出现但又被我们忽视的问题,犯的“错误”越多,才能积累很多的经

参考:http://fanli7.net/a/JAVAbiancheng/Struts/20140329/485364.html

Struts2 一张图片引发的bug的更多相关文章

  1. Spring 循环引用(一)一个循环依赖引发的 BUG

    Spring 循环引用(一)一个循环依赖引发的 BUG Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) Spring 循环 ...

  2. 安卓微信overflow-x overflow-y引发的bug

    今天xgo文章图片页上线用微信扫页面发现一个bug,页面可以双击放大缩小. 找了半天原因,发现是图片描述设置了overflow-y引发的bug. 建议在微信场景里满屏显示不能滚动的页面里慎用overf ...

  3. QByteArray引发的bug

    QByteArray引发的bug 在接收UDP数据的函数里,有如下代码片段 if(0x10 == data.size() && 0xCA == (unsigned char)data. ...

  4. 程序世界系列之-struts2安全漏洞引发的安全杂谈(上)

    目录: 1.讨论关于struts 安全问题. 2.黑客文化. 3.如何降低安全漏洞的出现. 4.忠告建议. 题记: 这篇文章本来很早应该和大家见面的,中间由于个人原因调整了系列文章发布时间,实属罪过. ...

  5. 一个int类型引发的bug

    一.引言 今天我在项目开发中,遭遇了一个莫名其妙的问题,概括加抽象后形成如下问题:在使用MyBatis的XML语句实现Dao层接口 List<Person> selectBySome(@P ...

  6. 一次关于使用status作为变量引发的bug及思考

    这个bug出现在一年前,当时自己大学还没毕业,刚刚进入一家公司实习.那个时候还没有用seajs或者requirejs那样的模块化管理的库,也没有用一个自执行的函数将要执行的代码包裹起来,于是bug就在 ...

  7. 公用表表达式(CTE)引发的改变执行顺序同WHERE条件顺序引发的bug

    以下模拟一下CTE出错 /*测试环境 Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyr ...

  8. 由CHAR(2)引发的BUG

    我们在设计数据库标志位字段时,为考虑其扩展性,一般会设置为CHAR(2),例如 FLAG CHAR(2),这样我们就需要注意了,如果你给字段 FLAG赋值为‘0’,它在数据库中的真实情况是‘0+空格’ ...

  9. 多线程+fork 引发的bug查找

    1. 问题描述 某个server SA是一个多线程服务器,主线程会调用fork,再exec生成工作进程SB. 实际上,SA的主线程fork出了一个子线程,但没有执行exec. # ps ajxf | ...

随机推荐

  1. Matlab基础知识

    一.常用命令:普通的如cd.ls和linux下一样 clc:清除工作窗口中的所有显示内容 clf:清除图形窗口 whos:列出当前工作空间中所有变量,以及它们的名字.尺寸(比如一个矩阵或数组的行列维数 ...

  2. BZOJ 1416: [NOI2006]神奇的口袋( 高精度 )

    把x1~xn当成是1~n, 答案是不会变的. 然后直接模拟就行了...... P.S 双倍经验... BZOJ1416 && BZOJ1498 -------------------- ...

  3. jq方法

    DOM属性-获取和设置页面元素的DOM属性 .addClass()..attr()..prop()..hasClass()..html()..removeAttr()..removeClass().. ...

  4. JS输出日历

    页面HTML代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> &l ...

  5. Lucky Sum

    Description Lucky Sum time limit per test: 2 seconds memory limit per test: 256 megabytes input: sta ...

  6. Linux----mktemp命令的用法

    命令说明: mktemp命令用于临时文件和临时目录.它的主要特点就是可以做到每次执行mktemp时产生文件和目录都不重名: 这个特性就保证了多个session执行同一脚本都是安全的. 命令用法: 格式 ...

  7. 基于ArcEngine的影像数据管理系统研制

    基于ArcEngine的影像数据管理系统研制 如果批处理,速度很慢,效率低. 详情如下: 分成很多小块的影像数据,要达到连续显示的效果,并导入ArcSDE for SQL Server中以方便管理.在 ...

  8. 转:CSS3 Flexbox 布局介绍

    转:CSS3 Flexbox 布局介绍 Flexbox是一个用于页面布局的全新CSS3模块功能.它可以把列表放在同一个方向(从左到右或从上到下排列),并且让这些列表能延伸到占用可用的空间.较为复杂的布 ...

  9. 关于“#ifdef __cplusplus”

    CC++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定 ...

  10. Android之CookieStore的持久化

    CookieStore是一个对象,有的服务端 ,比如.net,保持登录状态不是用httpclient.addHeader(“cookie”,SessionId),而是用httppost.setCook ...