如何设置@SessionAttributes对象不被覆盖?

问题描述

如在登录时设置@SessionAttributes("user")对象,在其它Controller的方法里要通过@ModelAttribute("user")取该对象,同时参数里有表单对象:public Map<String,Object> save(@ModelAttribute("user")User user, Orders form){...}表单里有和User对象相同的属性,其值会被覆盖,为啥InternalResourceViewResolver没有allowSessionOverride属性设置不许覆盖,而FreeMarkerViewResolver却有?

解决方案

1、freemarker等非JSP模板没有request、session等概念,只有模型的概念,按你说的allowSessionOverride表示是否允许session属性覆盖模型数据,默认是false,即不允许,如果重名则抛异常2、EL表达式如${a.id} 默认先从pageContext--->request--->session--->application/** * Set whether HttpSession attributes are allowed to override (hide) * controller generated model attributes of the same name. Default is "false", * which causes an exception to be thrown if session attributes of the same * name as model attributes are found. */public void setAllowSessionOverride(boolean allowSessionOverride) {this.allowSessionOverride = allowSessionOverride;}3、如在登录时设置@SessionAttributes("user")对象,在其它Controller的方法里要通过@ModelAttribute("user")取该对象,同时参数里有表单对象:建议session里的登录用户使用如loginUser 等不同的标识符来存储,和普通的区分开

时间: 2024-11-10 07:10:59

如何设置@SessionAttributes对象不被覆盖?的相关文章

vb.net在用多线程时,提示“未将对象引用设置到对象的实例”

问题描述 代码如下:PublicClassForm1DimPath(,)AsInteger,fun(,)AsSingle,q0(,),v0AsSingleDimz(,)AsSingle,v(,)AsSinglePrivateSubForm1_Load(senderAsObject,eAsEventArgs)HandlesMyBase.LoadFori=1ToUBound(Q)Forj=1Tonz(i,j)=zmax-(zmax-zmin)/(n-1)*(j-1)Call插值图(mmg,gz,gv

asp.net-未将对象引用设置到对象的实例。修改密码就出现这个问题

问题描述 未将对象引用设置到对象的实例.修改密码就出现这个问题 using System;using System.Data;using System.Configuration;using System.Collections;public partial class XueShengMod : System.Web.UI.Page{ protected void Page_Load(object sender EventArgs e) { } protected void Button1_C

错误解决:System.NullReferenceException: 未将对象引用设置到对象的实例

在ASP.NET开发中,遇到System.NullReferenceException: 未将对象引用设置到对象的实例的错误提示,解决方法如下:       (1)所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用datagrid或gridview或datalist等数据控件时出现. (2)控件名称与codebehind里面的没有对应 (3)未用new初始化对象 (4)在程序中所引用的控件不存在 解决方法: (1)使用try..catch...finally捕捉错误

两台tplink路由器怎么设置扩展无线WiFi信号覆盖范围

  两台tplink路由器设置扩展无线WiFi信号覆盖范围的方法 首先,我们需要查看一下被扩展无线WiFi热点的相关信息,包括"WiFi名称"和"WiFi密码"信息.以"TPLink"路由器为例,可以在"无线设置"-"基本设置"选项卡界面找到"WiFi名称". 接着切换到"无线加密设置"选项卡,在此就可以找到"WiFi密码",即图中的"P

在win7 64位下出现异常:未将对象引用设置到对象的实例

  您好,win7的确有这个问题,已经反馈给作者,其实很多.net写的应用会出现这样的错误,然后无视它的话,能继续用就好了,这个似乎不行. 电脑模拟乐器软件1.20 绿色版"在win7 64位下出现异常:未将对象引用设置到对象的实例.具体情况如下:‍ ************** 异常文本 ************** ************** 已加载的程序集 ************** mscorlib 程序集版本: 2.0.0.0 Win32 版本: 2.0.50727.5477 (W

链接数据库时,对文件操作造成脚本异常:未将对象引用设置到对象的实例,感觉是代码出了问题

问题描述 链接数据库时,对文件操作造成脚本异常:未将对象引用设置到对象的实例,感觉是代码出了问题 第一次对文件进行操作,只是简单的添加照片而已,不知道问题出在那里,当我把操作文件那块代码注释后,其他功能都是正常的,代码如下: string fileExtesion = Path.GetExtension(FileUpload1.PostedFile.FileName).ToLower(); if (FileUpload1.HasFile) { string path = Server.MapPa

图片-使用httpcontext.current.session时出错,未将对象引用设置到对象的实例。

问题描述 使用httpcontext.current.session时出错,未将对象引用设置到对象的实例.

上传服务器后出现System.NullReferenceException: 未将对象引用设置到对象的实例。

问题描述 如题[NullReferenceException:未将对象引用设置到对象的实例.]TopWin.WebUI.game._3jymdd.Page_Load(Objectsender,EventArgse)ine:topwincmswebuigame3jymdd.aspx.cs:80System.Web.UI.Control.OnLoad(EventArgse)+67System.Web.UI.Control.LoadRecursive()+35System.Web.UI.Page.Pr

VC 访问web service 出错!服务无法处理请求 未将对象引用设置到对象的实例

问题描述 ISoapSerializerPtrSerializer;ISoapReaderPtrReader;ISoapConnectorPtrConnector;//ConnecttotheserviceConnector.CreateInstance(__uuidof(HttpConnector));//WS服务器地址Connector->Property["EndPointURL"]="http://www.webxml.com.cn/webservices/qq