Bonjour,

J'utilise struts et voila le problème sur lequel je tourne en rond.

J'ai un popup qui s'ouvre dans mon IHM et qui contient un formulaire
Dans se formulaire j'envoie des données "brutes" vers potsgresql, mes triggers ( before / insert/ update) les prennent en charge, moulinent des calculs et les stockent dans la même table (colonnes différentes).

Jusque là, tout fonctionne, sauf que au submit du JSP :
- mes données brutes et mes données calculées s'updatent dans ma base
- mes données brutes s'updatent dans mon formulaire mais pas mes données calculées sauf quand je redéploie l'appli avec netbeans.
- mon formulaire affiche que les anciennes données calculées puisque non updatées.

Je ne suis pas arrivé à résoudre ce problème, je me suis donc réorienté vers mes codes coté serveur et essaye en script.

JSP
<html:javascript formName="CreateForm"
method="strutsValidation"
dynamicJavascript="true"
staticJavascript="true"/>
<html:form action="/createArticle.do"
method="post"
onsubmit="disabledOnSubmit(this);return validerFormPopup(this);">

//.... 2 de mes variables
<td id="article" style="width:30%;"><%--champ enregistrement unité --%>
<html:text style="...." property="radutile"></html:text></td>
<td id="coefchute" name="coefchute" style="....">
<html:text style="...." property="coefchutearticle"</html:text></td>

// MES RESULTATS TRIGGERS + script
<td> <input type="text" Id="resultradU" name="resultRadU" function="calculresultradutile" value=""></td><td>

LE SUBMIT
<td ......">
<html:submit
onclick="return loadSubmit();"
styleId="submit;" >
<bean:message key="title.button.confirm"></bean:message>
</html:submit> </td>
..
</html:form>


SCRIPT DANS MON TAG
function calculresultradutile() {
// nombre unite = radutile colonne artDecCalculunitepopup
var qte dwr.util.getValue("radutile");
// coefchute = colonne artDecCoefchutearticlepopup
var coef = dwr.util.getValue("coefchutearticle");
// valeur du resultat lineaireutile colonne artDecreslutCalculunitepopup
var val = coef * qte;
// message à afficher selon le cas
//var message = '<bean:message key="...."></bean:message>';

if(dwr.util.getValue("artIntId") == message || dwr.util.getValue("artIntId") == "") {
alert('<bean:message key="errors......."></bean:message>');
dwr.util.setValue("radutile", "");
dwr.util.setValue("resultradutile", val);
}
else if(dwr.util.getValue("coefchutearticle") == message || dwr.util.getValue("coefchutearticle") == "") {
alert('<bean:message key="errors......"></bean:message>');
dwr.util.setValue("radutile", "");
dwr.util.setValue("resultradutile", val);

}
else if(qte.match("[^0-9]")) {
alert("<bean:message key='errors.contact.montant'></bean:message>");
dwr.util.setValue("radutile", "");
dwr.util.setValue("resultradutile", val);
}
else {
dwr.util.setValue("resultradutile", val);
}
}


VALIDATION XML
<field property="coefchutearticle"
depends="required">
<arg key="errors.artDecCoefchutearticlepopup"/>
</field>
<field property="radutile"
depends="">
<arg key="errors.artDecCalculunitepopup"/>
</field>
<field property="resultradutile"
depends="">
<arg key="errors.artDecResultcalculunitepopup"/>
</field>


FORM
..
public void reset(ActionMapping mapping, HttpServletRequest request) {
super.reset(mapping, request);
this.coefchutearticle = "";
this.radutile = "";
this.resultradutile = "";
....


Bref, je cale .
( je ne vous note pas mes triggers, ils fonctionnent mais les ai désactivés pour passer par mes scripts)

Je suis débutant, alors simplicité ...
merci de votre aide
daniel