成功验证后如何保留数据?

时间:2012-05-16 12:37:37

标签: validation jsp struts textfield

我有使用struts bean标记库的jsp:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>

    <link rel="stylesheet" type="text/css" href="css/stylesheet.css">

</head>
<body>
<p><a class="colorGrey" href="Welcome.do">
    <bean:message key="menu.label" />
</a> &gt;&gt;<bean:message key="menu.link.addnews" /> </p>
<p><br>
</p>

<html:form action="/NewsSave">
<table width="100%" border="0">
<tr>
<td class="colorGrey" width="164" height="35">
    <bean:message key="body.news.title" />  </td>
<td width="577">
    <html:text property="newsTitle"  size="40" value=""/>    </td>

</tr>
<tr>
<td colspan="2">
    <html:errors property="newstitle" />
</td>
</tr>
<tr>
<td class="colorGrey">
    <bean:message key="body.news.date" />   </td>
<td>
    <html:text property="newsDate" size="10" value=""/>    </td>
</tr>


<tr>
<td height="21" colspan="2" valign="top">
    <html:errors property="newsdate" />
</td>
</tr>
<tr>
<td class="colorGrey" height="61" valign="top">
    <bean:message key="body.news.brief" />  </td>
<td valign="top">
    <html:textarea property="brief" cols="40" rows="6" value=""/>
</td>
</tr>

<tr>
<td height="23" colspan="2" valign="top"><html:errors property="brief" /></td>
</tr>
<tr>
<td class="colorGrey" height="100" valign="top">
    <bean:message key="body.news.content" />
</td>
<td valign="top">
    <html:textarea property="content" cols="40" rows="12" value=""/>
</td>
</tr>
<tr>
<td height="23" colspan="2" valign="top">
    <html:errors property="content" />
</td>
</tr>
</table>

<html:submit value="SAVE"/>
</html:form>
<form method="POST" 
action="Link.do?method=newsList"
onsubmit="return confirm('<bean:message key="body.onsubmit.cancel" />')">
<input type="submit" value="CANCEL">
</form>

我使用验证器插件,这意味着在收到不正确的信息后,它会给出消息低于文本字段,告诉我哪里出错了。但问题是提交后一切都消失了。因此,texttext-area代码中没有任何信息。我知道这是因为value=""而发生的。但是我有另一个页面,其中包含用于添加信息的相同字段,从一开始就应该清楚。如果我删除value="",转发后该页面上的信息将显示在该页面上。所以

  1. 转发后,如何从表单中清除信息 另一页?
  2. 如何在成功验证后保留信息?

1 个答案:

答案 0 :(得分:1)

正如您所提到的,您应该删除value =&#34;&#34;因为这是将字段设置为空。如果要清除值,则应在填充表单bean的Action类中执行此操作 如果您发现表单bean在请求之间保留其值,则检查它们是否为请求范围:action元素的scope属性应为&#34; request&#34;在struts.config中