struts2中action的validate验证失败后会丢失ActionContext中的值
这该如何解决哪?jsp代码如下:<s:formaction="RuleInfo_add"method="post"enctype="multipart/form-data...
这该如何解决哪?jsp代码如下:
<s:form action="RuleInfo_add" method="post" enctype="multipart/form-data" theme="simple">
<table width="100%" border="1">
<tr>
<td>
类型:
<select name="s_type" id="s_type">
<s:iterator value="typeRs" var="t">
<option value="<s:property value="#t.type_id"/>">
<s:property value="#t.type" />
</option>
</s:iterator>
</select>
</td>
</tr>
<tr>
<td>
现象:
<input name="fact.fact" value="<s:property value="fact.fact"/>" />
</td>
</tr>
</table>
</s:form>
action的validate验证失败后typeRs值变为空使得下拉列表中没有值,该如何解决? 展开
<s:form action="RuleInfo_add" method="post" enctype="multipart/form-data" theme="simple">
<table width="100%" border="1">
<tr>
<td>
类型:
<select name="s_type" id="s_type">
<s:iterator value="typeRs" var="t">
<option value="<s:property value="#t.type_id"/>">
<s:property value="#t.type" />
</option>
</s:iterator>
</select>
</td>
</tr>
<tr>
<td>
现象:
<input name="fact.fact" value="<s:property value="fact.fact"/>" />
</td>
</tr>
</table>
</s:form>
action的validate验证失败后typeRs值变为空使得下拉列表中没有值,该如何解决? 展开
5个回答
展开全部
新建
C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost\index.xml
里面输入
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/index" docBase="Es:\workspace\CFMI2\WebRoot【你的web-inf目录】"/>
启动输http://localhost:8088/tess/index.jsp
C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost\index.xml
里面输入
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/index" docBase="Es:\workspace\CFMI2\WebRoot【你的web-inf目录】"/>
启动输http://localhost:8088/tess/index.jsp
展开全部
http://zhidao.baidu.com/question/233368577.html
action的result节点这样写,
<result name="" type="redirect"></result>这样表示重定向,url就不会显示action的地址了。
3问:
要隐藏是可以的,不要用submit按钮,换成普通的按钮,把提交事件放到JS中写,比如按钮的点击事件onclick="submitForm()",JS里的submitForm函数里,写这样一句,document.form[0].submit();这就是对第1个form标签进行提交操作。
题外话,你的图片用绝对路径试试,这样写<img src="/test2/.../img/图片名"/> 直接从项目根目录开始找,我都是这么写,路径别写错了。
action的result节点这样写,
<result name="" type="redirect"></result>这样表示重定向,url就不会显示action的地址了。
3问:
要隐藏是可以的,不要用submit按钮,换成普通的按钮,把提交事件放到JS中写,比如按钮的点击事件onclick="submitForm()",JS里的submitForm函数里,写这样一句,document.form[0].submit();这就是对第1个form标签进行提交操作。
题外话,你的图片用绝对路径试试,这样写<img src="/test2/.../img/图片名"/> 直接从项目根目录开始找,我都是这么写,路径别写错了。
追问
这样重定向之后,typeRs值不会丢失,但是jsp页面就不会显示fieldError提示信息了。如果是dispatcher的话,会显示fieldError信息,可是typeRs会变为空使得下拉列表没有值。
追答
那是两个请求,当然不可能同时得到了,你只有把其中的一个写到另一个里,然后再返回另一个返回另一个就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
context属于服务器端得全局对象,不会丢失数据
你指的是request吧?如果是request转发是不会丢失数据的
你指的是request吧?如果是request转发是不会丢失数据的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你的validate方法里把你的下拉列表的值typeRs再得新赋一次。如果你是用的框架,那就在你的action处理方法中再赋一次。为什么要这样,因为web请求是一次性的,在你显示页面时肯定初始化了typeRs,但页面显示完成后你再请求时的Action类会是个新的,不会保存以前的值,所以失败后定向列表是空的,所以在发起定向的Action方法中一定要再次初始化typeRs。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用的什么 提交方法,struts2 不是 单例模式 ,
追问
action 不是单例,validate验证失败后,使用/AddInput.jsp这样重定向之后,typeRs值会丢失,而且jsp页面也不会显示fieldError提示信息了。如果是dispatcher的话,会显示fieldError信息,可是typeRs会变为空使得下拉列表没有值。如果是chain的话,typeRs值不会丢失,但是jsp页面就不会显示fieldError提示信息了。就没有一种能不丢失typeRs又能显示fieldError提示信息的方法吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询