系统用的是strut2,spring整合的,
struts.xml如下: <action name="index" class="indexAction">
<!-- 配置首页返回结果 -->
<result name="success" type="freeer">/WEB-INF/ftl/index.ftl</result>
<result name="input" type="freeer">/WEB-INF/ftl/index.ftl</result>
</action>
<action name="login" class="loginAction">
<!-- 配置登录返回结果 -->
<result name="success_user" type="freeer">/WEB-INF/ftl/success.ftl</result>
<result name="success_admin" type="freeer">/WEB-INF/ftl/success.ftl</result>
<result name="failure" type="freeer">/WEB-INF/ftl/failure.ftl</result>
<result name="input" type="chain">index</result>
</action> applicationContext.xml如下:<bean id="indexAction" class="com.winking.action.IndexAction">
<property name="systemService" ref="systemService"></property>
</bean>
<bean id="loginAction" class="com.winking.action.LoginAction">
<property name="systemService" ref="systemService"></property>
</bean>主要流程如下:
1.通过index.action获取数据转到index.ftl。
2.如果数据输入完全正确的话,则正常。
3.如果数据输入不正确,即通过login.action再由<result name="input" type="chain">index</result>到
index.acton(<result name="input" type="freeer">/WEB-INF/ftl/index.ftl</result>)到index.ftl,
并提示错误信息。正常的
4.但是再次输入错误信息的,则提示错误信息重复,原来的错误信息还在。即使再次输入正确信息的话同样提示错误信息。据网上说把applicationContext.xml里action的scope配置成prototype,这是一种方法,因为每次提交都不是同一个的action实例。
但是因为进入首页首先到indexAction获取信息,我改成prototype之后页面的数据就无法获取了,就报错了。
不知道各位大侠有什么办法解决了。。
struts.xml如下: <action name="index" class="indexAction">
<!-- 配置首页返回结果 -->
<result name="success" type="freeer">/WEB-INF/ftl/index.ftl</result>
<result name="input" type="freeer">/WEB-INF/ftl/index.ftl</result>
</action>
<action name="login" class="loginAction">
<!-- 配置登录返回结果 -->
<result name="success_user" type="freeer">/WEB-INF/ftl/success.ftl</result>
<result name="success_admin" type="freeer">/WEB-INF/ftl/success.ftl</result>
<result name="failure" type="freeer">/WEB-INF/ftl/failure.ftl</result>
<result name="input" type="chain">index</result>
</action> applicationContext.xml如下:<bean id="indexAction" class="com.winking.action.IndexAction">
<property name="systemService" ref="systemService"></property>
</bean>
<bean id="loginAction" class="com.winking.action.LoginAction">
<property name="systemService" ref="systemService"></property>
</bean>主要流程如下:
1.通过index.action获取数据转到index.ftl。
2.如果数据输入完全正确的话,则正常。
3.如果数据输入不正确,即通过login.action再由<result name="input" type="chain">index</result>到
index.acton(<result name="input" type="freeer">/WEB-INF/ftl/index.ftl</result>)到index.ftl,
并提示错误信息。正常的
4.但是再次输入错误信息的,则提示错误信息重复,原来的错误信息还在。即使再次输入正确信息的话同样提示错误信息。据网上说把applicationContext.xml里action的scope配置成prototype,这是一种方法,因为每次提交都不是同一个的action实例。
但是因为进入首页首先到indexAction获取信息,我改成prototype之后页面的数据就无法获取了,就报错了。
不知道各位大侠有什么办法解决了。。
解决方案 »
- spring mvc 使用多线程时报错 急急急!!!
- spring3mvc + hibernate + freemarker + jquery + json想看就进来吧
- 大家觉得在linux下开发java web怎么样呢
- 用JAVA代码启动程序。
- <html:hidden property="id" />
- java.lang.ClassCastException: javax.servlet.http.NoBodyResponse 这个是什么错误 请大哥们指点
- 配置连接池错误
- struts中怎样实现在单击某一个链接如"delete.do"时弹出"是否确定要删除?"的提示框,下面是一个确定和一个取消按扭
- jdom解析器的小问题。
- 求助关于Java中hashtable类的问题
- 请问如何在自己的网站空间上自动刷某个网站
- json转bean时时间错误的问题
报啥子错??
报的是index.ftl没有数据,因为index.ftl页面的数据是有index.action提供的。
也许我改成prototype之后,表单验证后就没有通过action,直接返回到了index.ftl。
每次提交表单的时候,首先执行一个方法,把原先的FieldError里的值先清空。
但不知道怎么写
可否提点建议
把验证跳转设为动态的。
反正都只在当前action 内部转发。 应为不会出问题了吧
<result name="input">${page}</result>
个人意见 我是菜鸟
struts2本身已经改善这个bug了,没必要在设立spring的多线程了,struts2已经是一个请求对应一个实例了;
改为prototype后,是因为chain的问题,需要加拦截器chain和basicStack就可以了
所以bean给spring管的时候,要配置成单件模式
不然每次调交,bean都不一样,所以error信息重复