2012-05-14 6 views
0

я иметь такую ​​форму, которая позволяет пользователю изменять боб сохраненный в БД:Как вернуть значения Jsp при сбое проверки

<html:form action="/confMod"> 
<table id="inserimento"> 
<tr> 
    <td>Titolo</td> 
    <td><html:text property="titolo" value="${libro.titolo }"/> 
</tr> 
<tr> 
    <td>Pagine</td> 
    <td><html:text property="pagine" value="${libro.pagine }"/> 
</tr> 
<tr> 
<td>ISBN</td> 
<td><html:text property="isbn" value="${libro.isbn }"/> 
    </tr> 
</table> 
<html:hidden property="idLibro" value="${idLibro }"/> 
<html:hidden property="opCod" value="modifica" /> 
<html:submit value=" Inserisci " /> 

Когда пользователь представить входные validate() методы проверки. Если ввод неверен, Struts возвращаются к jsp, которые содержат форму, но значения пустые. Я хочу сохранить старые значения в форме ... Как я могу это сделать? Я не хочу получить доступ к BD в validate() и не сохранять его в сеансе.

ответ

0

Используя атрибут 'value' тегов html struts, вы явно устанавливаете значения полей формы для того, что содержит компонент libro. Я предполагаю, что вы заполняете этот компонент в Action, который сначала устанавливает страницу, но не в Action, которая обрабатывает страницу при ее отправке, поэтому в последнем случае она будет пустой.

Вместо этого в первом действии вы должны заполнить свойства своей Формы, например, значениями, содержащимися в компоненте 'libro'. Вы можете использовать HTML-теги, как это:

<html:text property="titolo"/> 

В классе действий, к которому форма отправлена ​​ваша форма будет содержать значения, введенные пользователем. Если вы затем вернетесь к той же странице JSP, например. из-за ошибки проверки, тот же объект формы будет в запросе, то есть он все равно будет содержать значения, введенные пользователем.