2017-04-26 21 views
0

方案: 我们在一个有文本框的屏幕上。文本框中的值可以从会话中的bean VO中填充。如果此特定变量的数据库中未保存任何值,则文本框为空。如何在JSP中的'onchange'事件中设置会话中现有和部分填充的Struts 1 Bean的属性?

期望的行为: 如果用户在文本框中输入文本并导航到与返回不同的屏幕,则应在文本框中填入他之前输入的文本。直到点击“保存”按钮后,文本才能保存到数据库。

+0

编辑:需要将临时文本存储在bean属性中,不允许客户端存储。 – Mandy

+0

Ajax每n秒提交一次。 –

回答

0

将您的价值存储在cookie或本地存储中,并从cookie客户端重新填充。不需要服务器端的魔法。

在onload事件中,您应该读取本地存储并将其设置在文本框中存储值。

window.onload = function(){ 
     var val = localStorage.getItem('value'); // or localStorage.value 
     if(val != null) 
      document.getElementById("myData").value = val; 

} 

在onbeforeunload事件中,您应该检索文本框的值并将其保存在本地存储中。

window.onbeforeunload = function(){ 
    localStorage.setItem('value', document.getElementById("myData").value); // or localStorage.value = document.getElementById("myData").value 
} 
+0

忘记提及要将临时文本存储在bean属性中,并且不允许客户端存储。 – Mandy