首页 > 解决方案 > Struts2在重定向动作执行方法中的会话映射检查中丢失了属性值

问题描述

我有下一个场景,希望大家多多支持,非常感谢。

class Veh {
String id;
String engine;
setter getter.......; 
}

在我的第一个动作充电会话中的应用程序中,struts 映射带有汽车实例的 Veh 对象。

class Car extends Veh{
boolean roof;
....setter getter...;
}
class Bike extends Veh{
String helmetBrand;
....setter getter...;
}

在那之后,我在许多动作中被重定向没有问题,但是在其中一个在 Firefox 浏览器中我调试了这个,我可以检查 SUCCESS 返回,并且我已经检查了在这种情况下的 id 值 Session 对象 Veh 实例 Car 对象有我希望的 id,但是当到达下一个动作中执行方法的第一句时丢失了 id 值....

这可能是其中的细节吗?

标签: struts2

解决方案


我可以解决。

出于某种原因,在 Firefox 中,事情就是这样发生的。

  1. 请求收费没有问题的数据对象 Veh 和 id 就像一个属性 String 的 action idVeh。

  2. 在这个jsp页面中,我用这种Veh收费了一个列表,我在一个输入隐藏字段中设置了idVeh(管理struts的动作属性),比如站点视图的标识符。

  3. 在过去,我评论了隐藏的前夕字段,因为我在操作 idVeh 属性中看到了不必要的评论和评论,但出于某种原因,struts 将此 value 属性设置为 Veh.id 的值。

  4. 永远不要使用 this(String idVeh) 值设置 Veh.id 属性,而是使用 Veh.id 属性设置 String eve 属性。

  5. 只有在 Firefox 中,当响应到达操作时,它才会将 String idVeh 设置为 Veh.id 属性值。

我希望它会有所帮助。


推荐阅读