之所以接触到已经过时的struts框架,是因为学习要求,算是体会框架的进化过程吧,如果直接使用最先进的框架,可能因为缺乏使用历程经验而无法深刻地体会到框架的优化特性。
闲话不多赘述,进入正题。
发现问题:Struts框架当按照需求执行到某个Action对应的类下的特定方法时,同类下未被调用的自定义方法会自动执行,从而引发错误。
出现原因:经过检查,莫名其妙的被自动调用的方法为getUserInfo(),其中名字首部带有"get"字样,因此出现问题。
个人猜测:因为初学Struts这个古老框架,深知继续研究没有太多价值,所以仅仅进行了简单的试验,经过实验发现:分别修改了4次方法名,运行环境为ecplise ee+tomcat9.0,运行环境无异常。
组别 | 起名 | 结果 |
第一组 | getUserInfo() | 自动执行 |
第二组 | get123() | 不自动执行 |
第三组 | GetUserInfo() | 不自动执行 |
第四组 | Getget() | 不自动执行 |
所以,这里很可能跟Struts中识别类中getter方法的代码块有关系,具体相关代码块暂时没有进行研究,不过通过比较第一组、第二组、第四组试验发现,当方法命名为小写词汇"get"+任何合法命名内容+字母结尾时,会引发"Struts框架在执行该方法所在类的其他方法时自动执行该方法"现象。
结论(暂时):通过试验,发现除了第一组之外,其他三组的方法名称都不报错,但是基于"方法命名有意义"的要求,不建议以第二组进行命名;又基于常规编程规约,方法命名还需要符合"第一个单词首字母小写之后所有单词首字母大写"的要求,所以请放弃以"get"或者"Get"为首部进行命名的方式,转为其他同义单词。
踩坑完毕。
原文转载:http://www.shaoqun.com/a/512472.html
agora:https://www.ikjzd.com/w/2176
跨境通:https://www.ikjzd.com/w/1329
之所以接触到已经过时的struts框架,是因为学习要求,算是体会框架的进化过程吧,如果直接使用最先进的框架,可能因为缺乏使用历程经验而无法深刻地体会到框架的优化特性。 闲话不多赘述,进入正题。 发现问题:Struts框架当按照需求执行到某个Action对应的类下的特定方法时,同类下未被调用的自定义方法会自动执行,从而引发错误。 出现原因:经过检查,莫名其妙的被自动调用的方法为getUserI
pat:pat
贝贝官网:贝贝官网
河南云台山好玩吗 :河南云台山好玩吗
深圳最好的旅行社:深圳最好的旅行社
2020年春节深圳欢乐谷有什么优惠活动?:2020年春节深圳欢乐谷有什么优惠活动?