ModelAndView: materialized View is [null];和Action的onSubmit()方法不被执行
ModelAndView: materialized View is [null];
<property name="formView"><value>priceIncrease</value></property> 这一行必不可少,priceIncrease是页面的名字,他将会是prefix + priceIncrease + suffix
如果缺少该行,则报:javax.servlet.ServletException: Error in ModelAndView object or View resolution encountered by servlet with name 'pocketSpring': View to render cannot be null with ModelAndView [ModelAndView: materialized View is [null]; Model=[{priceIncrease=PriceIncrease@148e798, org.springframework.validation.BindException.priceIncrease=org.springframework.validation.BindException: BindException: 0 errors}]]
Action的onSubmit()方法不被执行
但是,要是在配置文件中加了这一行,那么会出现下面的情况: 我用的Action继承自org.springframework.web.servlet.mvc.SimpleFormController,这个类有两个属性formView和successView用于页面跳转,按一般的理解,一个Action处理完成后应该自动跳转到successView这样的页面去,除非硬编码让其跳转到其它页面。formView在这里又起什么作用呢?
我试了一下,如果没为该Action配置formView,则服务器会报错;而一旦配置了formView,则该Action的onSubmit()方法不被执行,直接跳转到formView对应的页面,更别提跳转到successView对应的页面去了——也就是说它始终跳到formView对应的页面,而且没有进行Action应该处理的动作。
我想实现的功能是在main.jsp中用一个iframe链接诸如login.do的页面,如下:
<iframe name="LoginFrame" src="login.do?color=blue" width="1000" height="600"></iframe>
Action的配置如下:
<bean id="preLoginAction" class="test.login.preLoginAction">
<property name="commandClass">
<value>test.login.preLoginForm</value>
</property>
<property name="formView">
<value>preLogin1</value>
</property>
<property name="successView">
<value>preLogin2</value>
</property>
</bean>
运行结果LoginFrame中始终是preLogin1.jsp,跟踪调试发现preLoginAction.onSubmit()方法未被执行。 GET请求的话转向formView
POST请求的话将执行onSubmit方法
如下是解决的方法:
在具体使用springMVC框架中,一般使用AbstractCommandController带参的形式,把相关的功能放在一个controller,譬如用户的添加、修改、删除,就可以采用
usemanage.do?msg=add/modify/delete的形式
SimpleFormController更为具体,但继承它实现的OnSubmit的方法,不好用,譬如不能后退或者用于超链接等方式的地址直接响应
ModelAndView: materialized View is [null];和Action的onSubmit()方法不被执行相关推荐
- SSH开发中 使用超链接到action 其excute方法会被执行两次 actual row count: 0; expected: 1...
由于执行两次excute,所以在做删除操作的时候会出现 Batch update returned unexpected row count from update [0]; actual row c ...
- Clickhouse其它类型表引擎(Live View、Null、URL)
目录 1. Live View表引擎 2. Null表引擎 3. URL表引擎 1. Live View表引擎 Live View不是表引擎,是一种视图,通过监听一条SQL查询语句的结果,当开启监听时 ...
- cassandra实战--物化视图(Materialized View)
在关系型数据库中,例如Mysql,视图是一个非常有用的功能.当项目遇到复杂业务的时候,不可避免的需要创建中间表来完成需求.通过视图,我们可以定制用户的数据,针对公司不同角色创建不同的视图,提供其需要的 ...
- Postgresql - MATERIALIZED VIEW
MATERIALIZED VIEW PG 9.3 版本之后开始支持物化视图. View 视图: 虚拟,不存在实际的数据,在查询视图的时候其实是对视图内的表进行查询操作. 物化视图: 实际存在,将数据存 ...
- 【Clickhouse】Clickhouse 物化视图 MATERIALIZED VIEW
文章目录 1.概述 2.物化视图 2.案例 2.1 案例1 参考: 1.概述 2.物化视图 物化视图支持表引擎,数据的保存形式由表的引擎决定. 创建语法: CREATE [MATERIALIZED] ...
- 物化视图(materialized view) 实现数据迁移、数据定时同步
近日公司有一个9i 的Oracle数据库,运行效率低下.想要将其升级到11G. 但是升级之前 要将数据进行同步,好在表不是很多.只有三张表.业务压力也不大,就想到了使用物 化视图的方式将数据同步过来. ...
- 【MW】Drop Materialized View Hangs with 'Enq: JI - Contention'
适用的数据库版本[Release 10.2 to 11.2] 事件:当运行DROP MATERIALIZED VIEW 时 会话hang住. 用下面命令生成跟踪文件(通过任意会话): 点击(此处)折叠 ...
- sql视图 view 和 MATERIALIZED VIEW
简单说就是,视图是一个子查询,性能肯定会比直接查询要低(尽管sql内部有优化),所以使用视图时有一个必须要注意的,就是不要嵌套使用查询.尤其是复杂查询. 那要视图有什么用?当一个查询你需要频频的作为子 ...
- ORA-12034: materialized view log on SCOTT.T_ROWID younger than last refresh
往一张物化视图基表插入一条数据时报: ORA-12034: materialized view log on "SCOTT"."T_ROWID" younger ...
最新文章
- DTCMS中文章增加tags标签和关键词时中文,替换为英文状态,
- do{}while(0) 作用
- PLSQL:[1]plsql中文乱码,显示问号
- 全文检索工具迅搜的安装和体验(可用于自建中文全文搜索引擎)
- 从Nacos客户端视角来分析一下配置中心实现原理
- ionic云开发系列一
- 连续一个月,每天只吃一个苹果,身体会怎么样?
- Windows 8 Directx 开发学习笔记(四)示例程序小结
- tcp序列号为什么是随机的_TCP与UDP
- spring.profiles.active和spring.profiles.include的使用与区别
- SQL文件导入数据库【保姆级教程】
- 网上鞋店html,“鞋店”是“shoes store”还是“shoe store”?
- oracle数据库:约束
- 爬网易云音乐动态的坑
- gcc -fomit-frame-pointer选项,-fno-dwarf2-cfi-asm 选项
- 数学问题-标量三重积向量三重积
- 计算机网络中速率(date rate)和带宽的区别
- SpringBoot项目启动异常:Field settlementMissService in...Service required a single bean, but 2 were found:
- matlab 行 读取文件 跳过_MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)...
- Python3.6笔记之腌制泡菜(pickle模块的用法)